\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{color} %For interrogation about report or code
\usepackage[table]{xcolor}
\usepackage{fancyvrb} %Extenstion of verbatim
\usepackage{listings}
\usepackage{supertabular}
\usepackage{verbatim}
\usepackage[english]{}
\usepackage{endnotes}
\usepackage{moreverb}
\usepackage{hyperref} %Liens hypertexte du sommaire

\usepackage[dvips]{geometry} % TO MODIFY THE MARGE
\geometry{
	right = 3cm,
}

\title{Trampoline (OSEK/VDX OS) Test Procedure - Version 1.0}
\author{Florent PAVIN}

% INITIALISATION %
%% LSTLISTING %%
\lstset{ %
language=C,                % choose the language of the code
basicstyle=\small,       % the size of the fonts that are used for the code
%numbers=left,                   % where to put the line-numbers
%numberstyle=\footnotesize,      % the size of the fonts that are used for the line-numbers
%stepnumber=2,                   % the step between two line-numbers. If it's 1 each line will be numbered
%numbersep=5pt,                  % how far the line-numbers are from the code
backgroundcolor=\color{white},  % choose the background color. You must add \usepackage{color}
showspaces=false,               % show spaces adding particular underscores
showstringspaces=false,         % underline spaces within strings
showtabs=false,                 % show tabs within strings adding particular underscores
%frame=single,			% adds a frame around the code
tabsize=2,			% sets default tabsize to 2 spaces
captionpos=b,			% sets the caption-position to bottom
breaklines=true,		% sets automatic line breaking
breakatwhitespace=false,	% sets if automatic breaks should only happen at whitespace
escapeinside={\%*}{*)}          % if you want to add a comment within your code
}

%% HEAD SUPERTABULAR %%
\newlength{\Li}\settowidth{\Li}{Running}
\newlength{\Lii}\setlength{\Lii}{7cm}
\newlength{\Liiii}\setlength{\Liiii}{0.9cm}
\newlength{\Liii}\setlength{\Liii}{\textwidth} \addtolength{\Liii}{-\Li} \addtolength{\Liii}{-\Lii} \addtolength{\Liii}{-\Liiii}

\tablefirsthead{ \hline \rowcolor{lightgray} Running task & Called OS service & Return Status & Test case \\ }
%\tablehead{ \hline \multicolumn{4}{|r|}{\small\sl continued from previous page} \\ \hline Running task & Called OS service & Return Status & Test case \\ }
%\tabletail{ \hline \multicolumn{4}{|r|}{\small\sl continued on next page} \\ \hline } 
\tablehead{  \hline \rowcolor{lightgray} Running task & Called OS service & Return Status & Test case \\ }
\tabletail{ \hline } 
\tablelasttail{}

% BEGIN DOCUMENT %
\begin{document}

\maketitle
\tableofcontents

\newpage
\section{Introduction}

This document describes the test procedure for the conformance test of an OSEK/VDX operating system. The test procedure contains the definition of test sequences.\\
Chapter 2 contains the definition of the used test sequences. The test sequences determine how the test cases will be tested. This contains the sequence of actions that must be taken by the test program, and their expected reactions. The definition of the test sequences is based on the test cases defined in the Trampoline Test Plan \cite{TrampolineTestPlan_10}.\\
Some specifications generates errors. If it's an API service call, it should return a status indicating that an error occurs and call the errorhook if defined. In some cases (ex:alarm set an event to a basic task), it could happen that the error comes from the oil file, GOIL has to tell the user that an error occurs during the compilation and don't generate the executable file. Because the executable file is not generated, these tests are different than API service calls and thus, are described in Chapter 3.\\
This test procedure is defined from OSEK/VDX OS v2.2.3  \cite{OSEK_OS_223} unlike OSEK/VDX Test Procedure which is defined from OSEK/VDX OS v2.0 \cite{OSEK_OS_20}.\\

\newpage
\section{Test sequences}
This chapter contains the specification of the test sequences that will be run during the conformance  tests. The test sequences define the sequence of actions that will be done during the execution of the test program, i. e. the sequence of instructions executed by each task. Each test sequence fulfils the test for one ore more of the test cases defined in Trampoline Test Plan. \\

	\subsection{Task management}
		
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:				  1, 10, 15, 20, 21, 23, 24, 25, 28, 33, 34, 35, 37
	RETURN STATUS:	  	EXTENDED
	SCHEDULING POLICY:	NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}	
	\lstinputlisting{./OIL_to_TXT/tasks_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& ActivateTask(INVALID\_TASK)			& E\_OS\_ID			&  1 \\ \hline 
	t1 	& GetTaskState(INVALID\_TASK, \&TaskState)	& E\_OS\_ID 			& 37 \\ \hline 
	t1 	& ChainTask(INVALID\_TASK) 			& E\_OS\_ID 			& 23 \\ \hline 
	t1 	& ActivateTask(t2) 					& E\_OK 				& \\ \hline 
	t1 	& \textit{force scheduling}					& 					& \\ \hline 
	t2 	& ActivateTask(t1) 					& E\_OS\_LIMIT 		& 10 \\ \hline 
	t2 	& ActivateTask(t2) 					& E\_OS\_LIMIT 		& 15 \\ \hline 
	t2 	& ChainTask(t1) 					& E\_OS\_LIMIT 		& 28 \\ \hline 
	t2 	& TerminateTask()						& 					& \\ \hline
	t1 	& GetResource(RES\_SCHEDULER) 		& E\_OK 				& \\ \hline 
	t1 	& TerminateTask() 						& E\_OS\_RESOURCE 	& 21 \\ \hline 
	t1 	& ChainTask(t2) 					& E\_OS\_RESOURCE 	& 25 \\ \hline
	t1 	& Schedule()		 					& E\_OS\_RESOURCE 	& 33 \\ \hline 
	t1 	& ReleaseResource(RES\_SCHEDULER)	& E\_OK 				& \\ \hline 
	t1 	& \textit{trigger interrupt isr1}				& 					& \\ \hline 
	isr1  	& TerminateTask() 						& E\_OS\_CALLEVEL 	& 20 \\ \hline 
	isr1  	& ChainTask(t2)				 		& E\_OS\_CALLEVEL 	& 24 \\ \hline 
	isr1 	& Schedule() 							& E\_OS\_CALLEVEL 	& 34 \\ \hline 
	isr1 	& GetTaskID()							& E\_OK, TaskID=INVALID\_TASK	& 35 \\ \hline 
	t1	& TerminateTask()						& 					& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		 2, 32
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& ActivateTask(t2) 		& E\_OK 	& 2 \\ \hline 
	t1 	& ActivateTask(t3)		& E\_OK 	& 2 \\ \hline
	t1	& Schedule() 				& E\_OK	& 32 \\ \hline
	t3	& TerminateTask() 			&		& \\ \hline
	t2	& TerminateTask() 			&		& \\ \hline
	t1	& TerminateTask()  			&		& \\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		 3, 4
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s3.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& ActivateTask(t3) 		& E\_OK 	& 3 \\ \hline 
	t3 	& ActivateTask(t2)		& E\_OK 	& 4 \\ \hline
	t3	& TerminateTask() 			&		& \\ \hline
	t2	& TerminateTask() 			&		& \\ \hline
	t1	& TerminateTask()  			&		& \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		 6
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s4.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& ActivateTask(t2) 			& E\_OK 				& 6 \\ \hline 
	t1 	& GetEvent(t1, \&EventMask) 	& E\_OK, EventMask=0x0	& \\ \hline
	t1 	& GetEvent(t2, \&EventMask) 	& E\_OK, EventMask=0x0	& \\ \hline
	t1	& Schedule() 					& E\_OK				& \\ \hline
	t2	& TerminateTask()  				&					& \\ \hline
	t1	& TerminateTask() 				&					& \\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		 7, 8
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s5.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& ActivateTask(t3) 			& E\_OK 				& 7 \\ \hline 
	t3 	& GetEvent(t3, \&EventMask) 	& E\_OK, EventMask=0x0	& \\ \hline
	t3	& ActivateTask(t2) 			& E\_OK 				& 8 \\ \hline 
	t3	& TerminateTask()  				&					& \\ \hline
	t2 	& GetEvent(t2, \&EventMask) 	& E\_OK, EventMask=0x0	& \\ \hline
	t2	& TerminateTask()  				&					& \\ \hline
	t1	& TerminateTask() 				&					& \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		 11, 16, 19, 29, 31
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s6.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 	
	t1 	& ActivateTask(t2) 			& E\_OK					& \\ \hline
	t1 	& \textit{force scheduling}			& 						& \\ \hline
	t2	& ActivateTask(t1) 			& E\_OS\_LIMIT			& 11 \\ \hline
	t2	& ActivateTask(t2) 			& E\_OS\_LIMIT			& 16 \\ \hline
	t2	& WaitEvent(Event2) 			& E\_OK					& \\ \hline
	t1	& GetTaskState(t2,\&TaskState)	& E\_OK, TaskState=WAITING	& \\ \hline
	t1	& ActivateTask(t2) 			& E\_OS\_LIMIT 			& 19 \\ \hline
	t1	& ChainTask(t2)				& E\_OS\_LIMIT 			& 31 \\ \hline
	t1	& SetEvent(t2, Event2)		& E\_OK					& \\ \hline
	t1	& \textit{force scheduling}			& 						&\\ \hline
	t2	& ChainTask(t1) 			& E\_OS\_LIMIT			& 29 \\ \hline
	t2 	& TerminateTask()	 			& 						&\\ \hline
	t1 	& TerminateTask()	 			& 						&\\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 7 %
	\textbf{Test Sequence 7 :}
	\begin{lstlisting}
	TEST CASES:		 12, 17, 30
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s7.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 	
	t1	& ActivateTask(t2)		& E\_OK	& \\ \hline
	t1	& ActivateTask(t2) 		& E\_OK	& 12 \\ \hline
	t1	& Schedule() 				& E\_OK	& \\ \hline
	t2	& TerminateTask() 			&		&\\ \hline
	t2	& TerminateTask() 			&		&\\ \hline
	t1	& ActivateTask(t1)		& E\_OK	& 17 \\ \hline
	t1	& ActivateTask(t3)		& E\_OK	& \\ \hline
	t1 	& ChainTask(t3) 		& 		& 30\\ \hline
	t3	& TerminateTask() 			&		&\\ \hline
	t3	& TerminateTask() 			&		&\\ \hline
	t1	& ActivateTask(t1)		& E\_OK	& \\ \hline
	t1	& TerminateTask() 			&		&\\ \hline
	t1	& TerminateTask() 			&		&\\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 8 %
	\textbf{Test Sequence 8 :}
	\begin{lstlisting}
	TEST CASES:		 5, 13, 14, 18
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s8.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 	
	t1	& ActivateTask(t2)		& E\_OK	& 5 \\ \hline
	t2	& ActivateTask(t1)		& E\_OK	& 13 \\ \hline
	t2	& ActivateTask(t3)		& E\_OK	& 14 \\ \hline
	t2	& TerminateTask() 			&		&\\ \hline
	t3	& TerminateTask() 			&		&\\ \hline
	t1	& TerminateTask() 			&		&\\ \hline
	t1	& ActivateTask(t1)		& E\_OK	& 18 \\ \hline
	t1	& TerminateTask() 			&		&\\ \hline
	t1	& TerminateTask() 			&		&\\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 9 %
	\textbf{Test Sequence 9 :}
	\begin{lstlisting}
	TEST CASES:		 22, 26, 27, 36, 38
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s9.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 	
	t1 	& GetTaskID()						& E\_OK, TaskID=t1			& 36 \\ \hline 
	t1	& GetTaskState(t1,\&TaskState)		& E\_OK, TaskState=RUNNING	& 38 \\ \hline
	t1	& GetTaskState(t2,\&TaskState)		& E\_OK, TaskState=SUSPENDED	& 38 \\ \hline
	t1	& ActivateTask(t2)					& E\_OK						& \\ \hline
	t1 	& \textit{force scheduling}				& 							& \\ \hline
	t2	& GetTaskState(t1,\&TaskState)		& E\_OK, TaskState=READY		& 38 \\ \hline
	t2	& TerminateTask() 					&							& \\ \hline
	t1 	& ChainTask(t3) 				& 							& 26 \\ \hline
	t3 	& ChainTask(t3) 			& 							& 27 \\ \hline
	t3	& TerminateTask() 				&							& 22 \\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 10 %
	\textbf{Test Sequence 10 :}
	\begin{lstlisting}
	TEST CASES:		 9
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s10.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	t1 	& ActivateTask(t2) 			& E\_OK				& \\ \hline 
	t2 	& GetEvent(t2, \&EventMask) 	& E\_OK, EventMask=0x0	& \\ \hline  
	t2	& ActivateTask(t3)			& E\_OK				& 9  \\ \hline 
	t2	& TerminateTask()				&					&  \\ \hline 
	t3	& GetEvent(t3, \&EventMask) 	& E\_OK, EventMask=0x0	& \\ \hline 
	t3	& TerminateTask()				&					&  \\ \hline 
	t1	& TerminateTask() 				&					& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 11 %
	\textbf{Test Sequence 11 :}
	\begin{lstlisting}
	TEST CASES:		 A task beeing released from the waiting state is treated like the newest task in the ready queue of its priority
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s11.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	t2	& ActivateTask(t1) 			& E\_OK				& \\ \hline 
	t2	& WaitEvent(Event2) 			& E\_OK				&  \\ \hline
	t1	& ActivateTask(t3)			& E\_OK				&  \\ \hline
	t1 	& \textit{force scheduling}			& 					& \\ \hline
	t3 	& ActivateTask(t4) 			& E\_OK				&  \\ \hline
	t3 	& \textit{force scheduling}			& 					& \\ \hline
	t4	& SetEvent(t2, Event2)		& E\_OK				&  \\ \hline
	t4	& TerminateTask()				&					&  \\ \hline 
	t3	& TerminateTask()				&					&  \\ \hline 
	t2	& TerminateTask()				&					&  \\ \hline 
	t1	& TerminateTask()				&					&  \\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 12 %
	\textbf{Test Sequence 12 :}
	\begin{lstlisting}
	TEST CASES:		 A preempted task is considered to be the first task in the ready queue of its current priority
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s12.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	t1	& ActivateTask(t2) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t3) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t2) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t2) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t3) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t3) 			& E\_OK				& \\ \hline 
	t1	& TerminateTask()				&					&  \\ \hline
	t2	& TerminateTask()				&					&  \\ \hline
	t3	& TerminateTask()				&					&  \\ \hline
	t2	& TerminateTask()				&					&  \\ \hline
	t2	& TerminateTask()				&					&  \\ \hline
	t3	& TerminateTask()				&					&  \\ \hline
	t3	& TerminateTask()				&					&  \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 13 %
	\textbf{Test Sequence 13 :}
	\begin{lstlisting}
	TEST CASES:		 Number of tasks which are not in the suspended state >= 8
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s13.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	t1	& ActivateTask(t2) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t3) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t4) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t5) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t6) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t7) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t8) 			& E\_OK				& \\ \hline 
	t1	& TerminateTask()				&					&  \\ \hline
	t2	& TerminateTask()				&					&  \\ \hline
	t3	& TerminateTask()				&					&  \\ \hline
	t4	& TerminateTask()				&					&  \\ \hline
	t5	& TerminateTask()				&					&  \\ \hline
	t6	& TerminateTask()				&					&  \\ \hline
	t7	& TerminateTask()				&					&  \\ \hline
	t8	& TerminateTask()				&					&  \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 14 %
	\textbf{Test Sequence 14 :}
	\begin{lstlisting}
	TEST CASES:		 Number of tasks which are not in the suspended state >= 16, number of events per task >= 8.
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s14.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	t1	& ActivateTask(t2) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t3) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t4) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t5) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t6) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t7) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t8) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(Task9) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t10) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t11) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t12) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t13) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t14) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t15) 			& E\_OK				& \\ \hline 
	t1	& ActivateTask(t16) 			& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event1)		& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event2)		& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event3)		& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event4)		& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event5)		& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event6)		& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event7)		& E\_OK				& \\ \hline 
	t1	& ClearEvent(t1\_Event8)		& E\_OK				& \\ \hline 
	t1	& TerminateTask()				&					&  \\ \hline
	t2	& ClearEvent(t2\_Event1)		& E\_OK				& \\ \hline 
	t2	& ClearEvent(t2\_Event2)		& E\_OK				& \\ \hline 
	t2	& ClearEvent(t2\_Event3)		& E\_OK				& \\ \hline 
	t2	& ClearEvent(t2\_Event4)		& E\_OK				& \\ \hline 
	t2	& ClearEvent(t2\_Event5)		& E\_OK				& \\ \hline 
	t2	& ClearEvent(t2\_Event6)		& E\_OK				& \\ \hline 
	t2	& ClearEvent(t2\_Event7)		& E\_OK				& \\ \hline 
	t2	& ClearEvent(t2\_Event8)		& E\_OK				& \\ \hline 
	t2	& TerminateTask()				&					&  \\ \hline
	t3	& ClearEvent(t3\_Event1)		& E\_OK				& \\ \hline 
	t3	& ClearEvent(t3\_Event2)		& E\_OK				& \\ \hline 
	t3	& ClearEvent(t3\_Event3)		& E\_OK				& \\ \hline 
	t3	& ClearEvent(t3\_Event4)		& E\_OK				& \\ \hline 
	t3	& ClearEvent(t3\_Event5)		& E\_OK				& \\ \hline 
	t3	& ClearEvent(t3\_Event6)		& E\_OK				& \\ \hline 
	t3	& ClearEvent(t3\_Event7)		& E\_OK				& \\ \hline 
	t3	& ClearEvent(t3\_Event8)		& E\_OK				& \\ \hline 
	t3	& TerminateTask()				&					&  \\ \hline
	t4	& ClearEvent(t4\_Event1)		& E\_OK				& \\ \hline 
	t4	& ClearEvent(t4\_Event2)		& E\_OK				& \\ \hline 
	t4	& ClearEvent(t4\_Event3)		& E\_OK				& \\ \hline 
	t4	& ClearEvent(t4\_Event4)		& E\_OK				& \\ \hline 
	t4	& ClearEvent(t4\_Event5)		& E\_OK				& \\ \hline 
	t4	& ClearEvent(t4\_Event6)		& E\_OK				& \\ \hline 
	t4	& ClearEvent(t4\_Event7)		& E\_OK				& \\ \hline 
	t4	& ClearEvent(t4\_Event8)		& E\_OK				& \\ \hline 
	t4	& TerminateTask()				&					&  \\ \hline
	t5	& ClearEvent(t5\_Event1)		& E\_OK				& \\ \hline 
	t5	& ClearEvent(t5\_Event2)		& E\_OK				& \\ \hline 
	t5	& ClearEvent(t5\_Event3)		& E\_OK				& \\ \hline 
	t5	& ClearEvent(t5\_Event4)		& E\_OK				& \\ \hline 
	t5	& ClearEvent(t5\_Event5)		& E\_OK				& \\ \hline 
	t5	& ClearEvent(t5\_Event6)		& E\_OK				& \\ \hline 
	t5	& ClearEvent(t5\_Event7)		& E\_OK				& \\ \hline 
	t5	& ClearEvent(t5\_Event8)		& E\_OK				& \\ \hline 
	t5	& TerminateTask()				&					&  \\ \hline
	t6	& ClearEvent(t6\_Event1)		& E\_OK				& \\ \hline 
	t6	& ClearEvent(t6\_Event2)		& E\_OK				& \\ \hline 
	t6	& ClearEvent(t6\_Event3)		& E\_OK				& \\ \hline 
	t6	& ClearEvent(t6\_Event4)		& E\_OK				& \\ \hline 
	t6	& ClearEvent(t6\_Event5)		& E\_OK				& \\ \hline 
	t6	& ClearEvent(t6\_Event6)		& E\_OK				& \\ \hline 
	t6	& ClearEvent(t6\_Event7)		& E\_OK				& \\ \hline 
	t6	& ClearEvent(t6\_Event8)		& E\_OK				& \\ \hline 
	t6	& TerminateTask()				&					&  \\ \hline
	t7	& ClearEvent(t7\_Event1)		& E\_OK				& \\ \hline 
	t7	& ClearEvent(t7\_Event2)		& E\_OK				& \\ \hline 
	t7	& ClearEvent(t7\_Event3)		& E\_OK				& \\ \hline 
	t7	& ClearEvent(t7\_Event4)		& E\_OK				& \\ \hline 
	t7	& ClearEvent(t7\_Event5)		& E\_OK				& \\ \hline 
	t7	& ClearEvent(t7\_Event6)		& E\_OK				& \\ \hline 
	t7	& ClearEvent(t7\_Event7)		& E\_OK				& \\ \hline 
	t7	& ClearEvent(t7\_Event8)		& E\_OK				& \\ \hline 
	t7	& TerminateTask()				&					&  \\ \hline
	t8	& ClearEvent(t8\_Event1)		& E\_OK				& \\ \hline 
	t8	& ClearEvent(t8\_Event2)		& E\_OK				& \\ \hline 
	t8	& ClearEvent(t8\_Event3)		& E\_OK				& \\ \hline 
	t8	& ClearEvent(t8\_Event4)		& E\_OK				& \\ \hline 
	t8	& ClearEvent(t8\_Event5)		& E\_OK				& \\ \hline 
	t8	& ClearEvent(t8\_Event6)		& E\_OK				& \\ \hline 
	t8	& ClearEvent(t8\_Event7)		& E\_OK				& \\ \hline 
	t8	& ClearEvent(t8\_Event8)		& E\_OK				& \\ \hline 
	t8	& TerminateTask()				&					&  \\ \hline
	t9	& ClearEvent(t9\_Event1)		& E\_OK				& \\ \hline 
	t9	& ClearEvent(t9\_Event2)		& E\_OK				& \\ \hline 
	t9	& ClearEvent(t9\_Event3)		& E\_OK				& \\ \hline 
	t9	& ClearEvent(t9\_Event4)		& E\_OK				& \\ \hline 
	t9	& ClearEvent(t9\_Event5)		& E\_OK				& \\ \hline 
	t9	& ClearEvent(t9\_Event6)		& E\_OK				& \\ \hline 
	t9	& ClearEvent(t9\_Event7)		& E\_OK				& \\ \hline 
	t9	& ClearEvent(t9\_Event8)		& E\_OK				& \\ \hline 
	t9	& TerminateTask()				&					&  \\ \hline
	t10	& ClearEvent(t10\_Event1)		& E\_OK				& \\ \hline 
	t10	& ClearEvent(t10\_Event2)		& E\_OK				& \\ \hline 
	t10	& ClearEvent(t10\_Event3)		& E\_OK				& \\ \hline 
	t10	& ClearEvent(t10\_Event4)		& E\_OK				& \\ \hline 
	t10	& ClearEvent(t10\_Event5)		& E\_OK				& \\ \hline 
	t10	& ClearEvent(t10\_Event6)		& E\_OK				& \\ \hline 
	t10	& ClearEvent(t10\_Event7)		& E\_OK				& \\ \hline 
	t10	& ClearEvent(t10\_Event8)		& E\_OK				& \\ \hline 
	t10	& TerminateTask()				&					&  \\ \hline
	t11	& ClearEvent(t11\_Event1)		& E\_OK				& \\ \hline 
	t11	& ClearEvent(t11\_Event2)		& E\_OK				& \\ \hline 
	t11	& ClearEvent(t11\_Event3)		& E\_OK				& \\ \hline 
	t11	& ClearEvent(t11\_Event4)		& E\_OK				& \\ \hline 
	t11	& ClearEvent(t11\_Event5)		& E\_OK				& \\ \hline 
	t11	& ClearEvent(t11\_Event6)		& E\_OK				& \\ \hline 
	t11	& ClearEvent(t11\_Event7)		& E\_OK				& \\ \hline 
	t11	& ClearEvent(t11\_Event8)		& E\_OK				& \\ \hline 
	t11	& TerminateTask()				&					&  \\ \hline
	t12	& ClearEvent(t12\_Event1)		& E\_OK				& \\ \hline 
	t12	& ClearEvent(t12\_Event2)		& E\_OK				& \\ \hline 
	t12	& ClearEvent(t12\_Event3)		& E\_OK				& \\ \hline 
	t12	& ClearEvent(t12\_Event4)		& E\_OK				& \\ \hline 
	t12	& ClearEvent(t12\_Event5)		& E\_OK				& \\ \hline 
	t12	& ClearEvent(t12\_Event6)		& E\_OK				& \\ \hline 
	t12	& ClearEvent(t12\_Event7)		& E\_OK				& \\ \hline 
	t12	& ClearEvent(t12\_Event8)		& E\_OK				& \\ \hline 
	t12	& TerminateTask()				&					&  \\ \hline
	t13	& ClearEvent(t13\_Event1)		& E\_OK				& \\ \hline 
	t13	& ClearEvent(t13\_Event2)		& E\_OK				& \\ \hline 
	t13	& ClearEvent(t13\_Event3)		& E\_OK				& \\ \hline 
	t13	& ClearEvent(t13\_Event4)		& E\_OK				& \\ \hline 
	t13	& ClearEvent(t13\_Event5)		& E\_OK				& \\ \hline 
	t13	& ClearEvent(t13\_Event6)		& E\_OK				& \\ \hline 
	t13	& ClearEvent(t13\_Event7)		& E\_OK				& \\ \hline 
	t13	& ClearEvent(t13\_Event8)		& E\_OK				& \\ \hline 
	t13	& TerminateTask()				&					&  \\ \hline
	t14	& ClearEvent(t14\_Event1)		& E\_OK				& \\ \hline 
	t14	& ClearEvent(t14\_Event2)		& E\_OK				& \\ \hline 
	t14	& ClearEvent(t14\_Event3)		& E\_OK				& \\ \hline 
	t14	& ClearEvent(t14\_Event4)		& E\_OK				& \\ \hline 
	t14	& ClearEvent(t14\_Event5)		& E\_OK				& \\ \hline 
	t14	& ClearEvent(t14\_Event6)		& E\_OK				& \\ \hline 
	t14	& ClearEvent(t14\_Event7)		& E\_OK				& \\ \hline 
	t14	& ClearEvent(t14\_Event8)		& E\_OK				& \\ \hline 
	t14	& TerminateTask()				&					&  \\ \hline
	t15	& ClearEvent(t15\_Event1)		& E\_OK				& \\ \hline 
	t15	& ClearEvent(t15\_Event2)		& E\_OK				& \\ \hline 
	t15	& ClearEvent(t15\_Event3)		& E\_OK				& \\ \hline 
	t15	& ClearEvent(t15\_Event4)		& E\_OK				& \\ \hline 
	t15	& ClearEvent(t15\_Event5)		& E\_OK				& \\ \hline 
	t15	& ClearEvent(t15\_Event6)		& E\_OK				& \\ \hline 
	t15	& ClearEvent(t15\_Event7)		& E\_OK				& \\ \hline 
	t15	& ClearEvent(t15\_Event8)		& E\_OK				& \\ \hline 
	t15	& TerminateTask()				&					&  \\ \hline
	t16	& ClearEvent(t16\_Event1)		& E\_OK				& \\ \hline 
	t16	& ClearEvent(t16\_Event2)		& E\_OK				& \\ \hline 
	t16	& ClearEvent(t16\_Event3)		& E\_OK				& \\ \hline 
	t16	& ClearEvent(t16\_Event4)		& E\_OK				& \\ \hline 
	t16	& ClearEvent(t16\_Event5)		& E\_OK				& \\ \hline 
	t16	& ClearEvent(t16\_Event6)		& E\_OK				& \\ \hline 
	t16	& ClearEvent(t16\_Event7)		& E\_OK				& \\ \hline 
	t16	& ClearEvent(t16\_Event8)		& E\_OK				& \\ \hline 
	t16	& TerminateTask()				&					&  \\ \hline
	
	\end{supertabular} \\
	
	% TEST SEQUENCE 15 %
	\textbf{Test Sequence 15 :}
	\begin{lstlisting}
	TEST CASES:		 35, 39 to 56
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/tasks_s15.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t8	& WaitEvent(Event1) 						& E\_OK					& \\ \hline 
	t1	& \textit{trigger interrupt}						& E\_OK					& \\ \hline 
	isr1	& ActivateTask(INVALID\_TASK)				& E\_OS\_ID				& 41 \\ \hline 
	isr1	& ActivateTask(t2) 							& E\_OK					& 44, 42 \\ \hline 
	isr1	& ActivateTask(t3) 							& E\_OK					& 45 \\ \hline 
	isr1	& ActivateTask(t4) 							& E\_OK					& 43 \\ \hline 
	isr1	& ActivateTask(t5) 							& E\_OK					& 48, 46 \\ \hline 
	isr1	& ActivateTask(t6) 							& E\_OK					& 49 \\ \hline 
	isr1	& ActivateTask(t7) 							& E\_OK					& 47 \\ \hline 
	isr1	& ActivateTask(t2) 							& E\_OK					& 54, 52 \\ \hline 
	isr1	& ActivateTask(t3) 							& E\_OK					& 55 \\ \hline 
	isr1	& ActivateTask(t4) 							& E\_OK					& 53 \\ \hline 
	isr1	& ActivateTask(t1) 							& E\_OS\_LIMIT			& 50 \\ \hline 
	isr1	& ActivateTask(t5) 							& E\_OS\_LIMIT			& 51 \\ \hline 
	isr1	& ActivateTask(t8) 							& E\_OS\_LIMIT			& 56 \\ \hline 
	isr1	& GetTaskState(INVALID\_TASK, \&TaskState)		& E\_OS\_ID				& 39 \\ \hline 
	isr1	& GetTaskState(t8, \&TaskState)				& E\_OK, TaskState=WAITING	& 40 \\ \hline 
	isr1	& GetTaskID()			 					& E\_OK, TaskID=INVALID\_TASK		& 35 \\ \hline 
	\{NON\}t1	& TerminateTask()						& 		 				&  \\ \hline 
	t4	& TerminateTask()							& 		 				&  \\ \hline 
	t7	& TerminateTask()							& 		 				&  \\ \hline 
	t4	& TerminateTask()							& 		 				&  \\ \hline 
	t8	& TerminateTask()							& 		 				&  \\ \hline 
	\{FULL\}t1	& TerminateTask()						& 		 				&  \\ \hline
	t3	& TerminateTask()							& 		 				&  \\ \hline 
	t6	& TerminateTask()							& 		 				&  \\ \hline 
	t3	& TerminateTask()							& 		 				&  \\ \hline 
	t2	& TerminateTask()							& 		 				&  \\ \hline 
	t5	& TerminateTask()							& 		 				&  \\ \hline 
	t2	& TerminateTask()							& 		 				&  \\ \hline 
	\end{supertabular} \\
    
\subsection{Interrupt processing}
	Test cases 4 and 5 are respectively the same as 7 and 8 because we can't test ISRs of category 1 (they're OS independant). \\
	Maximum number of activation for ISRs is 1, so if an interrupt is called several times when interrupts are disabled or suspended, only one will be executed when respectively enabling or resuming the interrupts.\\
	Every counter ticks, a signal is send to Trampoline in order it checks if an alarm expires or not. The signal sent is SIGUSR2 so, during alarm test procedure, we will be careful not to use SIGUSR2 when we use interrupt at the same time of an alarm (see Test sequence 4). \\
	Since no API service calls are allowed between SuspendAllInterrupts() and ResumeAllInterrupts(), test sequence 5 appears.\\
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :} 
	\begin{lstlisting}
	TEST CASES:		 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/interrupts_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& DisableAllInterrupts()			&  			& 4 \\ \hline 
	t1 	& EnableAllInterrupts()			&  			& 2 \\ \hline
	t1 	& DisableAllInterrupts()			&  			& 4 \\ \hline 
	t1 	& \textit{trigger interrupt isr2}		& 		 	& 15 \\ \hline
	t1 	& \textit{trigger interrupt isr2}		& 		 	& 16 \\ \hline 
	t1 	& \textit{trigger interrupt isr2}		& 		 	& 16 \\ \hline 
	t1 	& EnableAllInterrupts()			&  			& 1 \\ \hline
	isr2	& 							& 			&  \\ \hline
	t1	& \textit{trigger interrupt isr2}		& 		 	& \\ \hline 
	isr2	&							&			&  \\ \hline
	t1 	& SuspendedAllInterrupts()		&  			& 9 \\ \hline 
	t1 	& ResumeAllInterrupts()			&  			& 6 \\ \hline 
	t1 	& SuspendedAllInterrupts()		&  			&  \\ \hline 
	t1 	& SuspendedAllInterrupts()		&  			&  \\ \hline 
	t1 	& SuspendedAllInterrupts()		&  			&  \\ \hline 
	t1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	t1 	& ResumeAllInterrupts()			&  			&  \\ \hline 
	t1 	& ResumeAllInterrupts()			&  			&  \\ \hline 
	t1 	& ResumeAllInterrupts()			&  			& 5, 7 \\ \hline 
	isr2	& 							& 			&  \\ \hline
	t1	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	isr2	&							&			&  \\ \hline
	t1 	& SuspendedOSInterrupts()		&  			& 14 \\ \hline 
	t1 	& ResumeOSInterrupts()			&  			& 11 \\ \hline 
	t1 	& SuspendedOSInterrupts()		&  			&  \\ \hline 
	t1 	& SuspendedOSInterrupts()		&  			&  \\ \hline 
	t1 	& SuspendedOSInterrupts()		&  			&  \\ \hline 
	t1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	t1 	& ResumeOSInterrupts()			&  			& \\ \hline 
	t1 	& ResumeOSInterrupts()			&  			& \\ \hline 
	t1 	& ResumeOSInterrupts()			&  			& 10, 12 \\ \hline 
	isr2	& 							& 			&  \\ \hline
	t1	& \textit{trigger interrupt isr1}		& 		 	&  \\ \hline 
	isr1 	& DisableAllInterrupts()			&  			& 22 \\ \hline 
	isr1 	& EnableAllInterrupts()			&  			& 21 \\ \hline
	isr1 	& DisableAllInterrupts()			&  			& 22 \\ \hline 
	isr1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline
	isr1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	isr1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	isr1 	& EnableAllInterrupts()			&  			& 20 \\ \hline
	isr2	& 							& 			&  \\ \hline
	isr1	& \textit{trigger interrupt isr2}		& 		 	& 31 \\ \hline 
	isr2	&							&			&  \\ \hline
	isr1 	& SuspendedAllInterrupts()		&  			& 26 \\ \hline 
	isr1 	& ResumeAllInterrupts()			&  			& 24 \\ \hline 
	isr1 	& SuspendedAllInterrupts()		&  			&  \\ \hline 
	isr1 	& SuspendedAllInterrupts()		&  			&  \\ \hline 
	isr1 	& SuspendedAllInterrupts()		&  			&  \\ \hline 
	isr1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	isr1 	& ResumeAllInterrupts()			&  			&  \\ \hline 
	isr1 	& ResumeAllInterrupts()			&  			&  \\ \hline 
	isr1 	& ResumeAllInterrupts()			&  			& 23, 25 \\ \hline 
	isr2	& 							& 			&  \\ \hline
	isr1	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	isr2	&							&			&  \\ \hline
	isr1 	& SuspendedOSInterrupts()		&  			& 30 \\ \hline 
	isr1 	& ResumeOSInterrupts()			&  			& 28 \\ \hline 
	isr1 	& SuspendedOSInterrupts()		&  			&  \\ \hline 
	isr1 	& SuspendedOSInterrupts()		&  			&  \\ \hline 
	isr1 	& SuspendedOSInterrupts()		&  			&  \\ \hline 
	isr1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	isr1 	& ResumeOSInterrupts()			&  			&  \\ \hline 
	isr1 	& ResumeOSInterrupts()			&  			&  \\ \hline 
	isr1 	& ResumeOSInterrupts()			&  			& 27, 29 \\ \hline 
	isr2	& 							& 			&  \\ \hline
	isr1	& \textit{trigger interrupt isr3}		& 		 	&  \\ \hline 
	isr3	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline 
	isr2	&							&			& 34 \\ \hline
	isr1	&							&			& \\ \hline
	t1	& TerminateTask()				& 		 	&  \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		 17, 32
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/interrupts_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline
	isr2	& \textit{trigger interrupt isr1}		& 			& 32 \\ \hline
	isr2	& ActivateTask(t2)				& E\_OK		&  \\ \hline
	isr1	&							&			& 17 \\ \hline
	t1 	& TerminateTask()				& 		 	&  \\ \hline 
	t2 	& TerminateTask()				& 		 	&  \\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		 18, 33
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/interrupts_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& \textit{trigger interrupt isr2}		& 		 	&  \\ \hline
	isr2	& \textit{trigger interrupt isr1}		& 			& 33 \\ \hline
	isr2	& ActivateTask(t2)				& E\_OK		&  \\ \hline
	isr1	&							&			& 18 \\ \hline
	t2 	& TerminateTask()				& 		 	&  \\ \hline
	t1 	& TerminateTask()				& 		 	&  \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		 35, 36, 37, 38, 39
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/interrupts_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SetAbsAlarm(Alarm1, 2, 0)						& E\_OK 		& \\ \hline
	t1	& \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 			& \\ \hline 
	CallBack1 & SuspendAllInterrupts()						& 			& 38 \\ \hline
	CallBack1 & ResumeAllInterrupts()						& 			& 35 \\ \hline
	CallBack1 & \textit{trigger interrupt isr1}					& 			& 39 \\ \hline
	isr1		& 										& 			&  \\ \hline
	t1	& SetAbsAlarm(Alarm2, 2, 0)						& E\_OK 		& \\ \hline
	t1	& \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 			& \\ \hline 
	CallBack2 & SuspendAllInterrupts()						& 			& \\ \hline
	CallBack2 & SuspendAllInterrupts()						& 			& \\ \hline
	CallBack2 & SuspendAllInterrupts()						& 			& \\ \hline
	CallBack2 & \textit{trigger interrupt isr1}					& 			& 39 \\ \hline
	CallBack2 & ResumeAllInterrupts()						& 			&  \\ \hline
	CallBack2 & ResumeAllInterrupts()						& 			&  \\ \hline
	CallBack2 & ResumeAllInterrupts()						& 			& 36, 37 \\ \hline
	isr1		& 										& 			&  \\ \hline
	t1	& TerminateTask()								& 			& \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}\\
	Since no service call are allowed between disabled/enabled interrupts, It should return an error. Since AUTOSAR OS should return E\_OS\_DISABLEDINT in this case (OS093), it is implemented in Trampoline "OSEK" OS. Moreover, Suspending/Resuming interrupts work by pair, it means you can't resume "OS" interrupts after disabling "All" interrupts, the service is not done (see OSEK OS p26 and AUTOSAR OS Requirements OS092).
	\begin{lstlisting}
	TEST CASES:		 3, 8, 13, 19
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/interrupts_s5.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SuspendAllInterrupts()							& 	 				& \\ \hline
	t1	& ActivateTask(t2)								& E\_OS\_DISABLEDINT	& \\ \hline
	t1	& \textit{trigger interrupt isr1}						& 					& \\ \hline
	t1	& ResumeOSInterrupts()							& 	 				& 13 \\ \hline
	t1	& EnableAllInterrupts()							& 	 				& 3 \\ \hline
	t1	& ResumeAllInterrupts()							& 	 				& \\ \hline
	isr1	& 											& 					& \\ \hline
	
	t1	& SuspendOSInterrupts()							& 	 				& \\ \hline
	t1	& ActivateTask(t2)								& E\_OS\_DISABLEDINT	& \\ \hline
	t1	& \textit{trigger interrupt isr1}						& 					& \\ \hline
	t1	& ResumeAllInterrupts()							& 	 				& 8 \\ \hline
	t1	& EnableAllInterrupts()							& 	 				& 3 \\ \hline
	t1	& DisableAllInterrupts()							& 	 				& 19 \\ \hline
	t1	& EnableAllInterrupts()							& 	 				& 3 \\ \hline
	t1	& ResumeOSInterrupts()							& 	 				& \\ \hline
	isr1	& 											& 					& \\ \hline
	
	t1	& DisableAllInterrupts()							& 	 				& \\ \hline
	t1	& ActivateTask(t2)								& E\_OS\_DISABLEDINT	& \\ \hline
	t1	& \textit{trigger interrupt isr1}						& 					& \\ \hline
	t1	& ResumeAllInterrupts()							& 	 				& 8 \\ \hline
	t1	& ResumeOSInterrupts()							& 	 				& 13 \\ \hline
	t1	& EnableAllInterrupts()							& 	 				& \\ \hline
	isr1	& 											& 					& \\ \hline
	
	t1	& TerminateTask()								& 	 				& \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}\\
	\begin{lstlisting}
	TEST CASES:		 19
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/interrupts_s6.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetTaskState(t3, \&State)						& E\_OK, State=READY	& \\ \hline
	t1	& SuspendAllInterrupts()							& 	 				& \\ \hline
	t1	& ActivateTask(t2)								& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& TerminateTask()								& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& ChainTask(t2)								& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& Schedule()									& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& GetTaskID(\&TaskType)							& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& GetTaskState(t2, \&TaskStateType)				& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& GetResource(Resource1)						& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& ReleaseResource(Resource1)					& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& SetEvent(t3, Event1)							& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& ClearEvent(Event1)							& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& GetEvent(t2, \&EventMaskType)					& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& WaitEvent(Event1)								& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& GetAlarmBase(Alarm1, \&AlarmBaseType)			& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& GetAlarm(Alarm1, \&TickType)					& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& SetRelAlarm(Alarm1, 1, 0)						& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& SetAbsAlarm(Alarm1, 1, 0)						& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& CancelAlarm(Alarm1)							& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& GetActiveApplicationMode()						& E\_OS\_DISABLEDINT	& 19 \\ \hline
	t1	& ResumeAllInterrupts()							& 	 				& \\ \hline
	t1	& GetEvent(t3, \&EventMaskType)					& E\_OK, Event=0		& \\ \hline
	t1	& TerminateTask()								& 	 				& \\ \hline
	\end{supertabular} \\
	
\subsection{Event mechanism}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		 1, 2, 3, 11, 12, 14, 15, 16, 20, 21, 22
	RETURN STATUS:	  EXTENDED 
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/events_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SetEvent(INVALID\_TASK, Event1)		& E\_OS\_ID			& 1 \\ \hline
	t1 	& SetEvent(t1,Event1) 				& E\_OS\_ACCESS		& 2 \\ \hline
	t1 	& SetEvent(t2, Event1) 				& E\_OS\_STATE 		& 3 \\ \hline
	t1 	& ClearEvent(Event1) 					& E\_OS\_ACCESS 		& 11 \\ \hline 
	t1	& \textit{trigger interrupt isr1}				& 					&   \\ \hline 
	isr1 	& ClearEvent(Event1) 					& E\_OS\_CALLEVEL	& 12  \\ \hline 
	isr1 	& WaitEvent(Event1) 					& E\_OS\_CALLEVEL 	& 22  \\ \hline 
	t1	& GetEvent(INVALID\_TASK, \&EventMask) 	& E\_OS\_ID			& 14  \\ \hline 
	t1 	& GetEvent(t1, \&EventMask)			& E\_OS\_ACCESS 		& 15  \\ \hline 
	t1	& GetEvent(t2, \&EventMask) 			& E\_OS\_STATE 		& 16  \\ \hline 
	t1	& WaitEvent(Event1) 					& E\_OS\_ACCESS 		& 20  \\ \hline 
	t1	& ChainTask(t2)						&					&   \\ \hline 
	t2 	& GetResource(Resource1) 				& E\_OK				&  \\ \hline 
	t2	& WaitEvent(Event1) 					& E\_OS\_RESOURCE 	& 21  \\ \hline 
	t2	& ReleaseResource(Resource1) 			& E\_OK				&  \\ \hline 
	t2	& TerminateTask()						&					&  \\ \hline 
	\end{supertabular} \\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		 13, 17, 18, 19, 23, 24
	RETURN STATUS:	  STANDARD, EXTENDED 
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/events_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t2 	& ActivateTask(t1) 					& E\_OK					& \\ \hline 
	t2 	& SetEvent(t1, Event1) 				& E\_OK					& 9/10 \\ \hline 
	t2	& GetEvent(t1, \&EventMask) 			& E\_OK, EventMask=Event1	& 18 \\ \hline
	t2 	& WaitEvent(Event2) 				& E\_OK					& 23 \\ \hline
	t1	& WaitEvent(Event1)					& E\_OK					& 24 \\ \hline
	t1 	& GetEvent(t2, \&EventMask) 			& E\_OK, EventMask=0x0		& 19 \\ \hline
	t1 	& SetEvent(t1, Event1)				& E\_OK					&  \\ \hline
	t1 	& GetEvent(t1, \&EventMask)			& E\_OK, EventMask=Event1	& 17 \\ \hline
	t1 	& WaitEvent(Event1) 				& E\_OK 					& 24 \\ \hline
	t1	& ClearEvent(Event1) 				& E\_OK 					& 13 \\ \hline
	t1	& GetEvent(t1, \&EventMask) 			& E\_OK, EventMask=0x0		& \\ \hline
	t1 	& SetEvent(t2, Event2)				& E\_OK					& \\ \hline
	t1 	& \textit{force scheduling}				& 						&\\ \hline
	t2 	& TerminateTask()					& 						& \\ \hline
	t1 	& TerminateTask()					&						&\\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		 4, 5, 9
	RETURN STATUS:	  STANDARD, EXTENDED 
	SCHEDULING POLICY:   NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/events_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t2 	& WaitEvent(Event1) 				& E\_OK 								&  \\ \hline
	t1	& GetTaskState(t2, \&TaskState) 		& E\_OK, TaskState=WAITING				& \\ \hline
	t1	& GetEvent(t2, \&EventMask) 			& E\_OK, EventMask=0x0					&  \\ \hline
	t1	& SetEvent(t2, Event2)				& E\_OK 								& 5  \\ \hline
	t1	& GetTaskState(t2, \&TaskState) 		& E\_OK, TaskState=WAITING				&   \\ \hline
	t1 	& GetEvent(t2, \&EventMask) 			& E\_OK, EventMask=Event2				&  \\ \hline
	t1	& SetEvent(t2, Event1)				& E\_OK								& 4  \\ \hline
	t1	& GetTaskState(t2, \&TaskState)		& E\_OK, TaskState=READY				&  \\ \hline
	t1 	& GetEvent(t2, \&EventMask) 			& E\_OK, EventMask= Event1$|$Event2		&  \\ \hline
	t1 	& SetEvent(t2, Event3)				& E\_OK 								& 9 \\ \hline
	t1	& GetEvent(t2, \&EventMask) 			& E\_OK, EventMask= Event1$|$Event2$|$Event3	&   \\ \hline
	t1 	& ActivateTask(t3)					& E\_OK 								& \\ \hline
	t1 	& SetEvent(t2, Event3)				& E\_OK 								& 9\endnote{as said in Trampoline Test Plan - 2.3 Event Mechanism, this test set an event to a READY\_AND\_NEW task unlike the other test cases 9 and 10.}\\ \hline
	t1 	& TerminateTask()					&									& \\ \hline
	t2 	& TerminateTask()					&									& \\ \hline
	t3	& WaitEvent(Event3)					& E\_OK								& \\ \hline
	t3 	& TerminateTask()					&									& \\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		 6, 7, 8, 10
	RETURN STATUS:	  STANDARD, EXTENDED 
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/events_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t2 	& WaitEvent(Event1) 				& E\_OK 					&  \\ \hline
	t1 	& SetEvent(t2, Event2) 				& E\_OK 					& 8 \\ \hline
	t1	& GetTaskState(t2, \&TaskState) 		& E\_OK, TaskState=WAITING	&\\ \hline
	t1 	& GetEvent(t2, \&EventMask) 			& E\_OK, EventMask= Event2	&  \\ \hline
	t1 	& ActivateTask(t3) 					& E\_OK					&  \\ \hline
	t1	& GetTaskState(t3, \&TaskState) 		& E\_OK, TaskState=READY	&  \\ \hline
	t1	& SetEvent(t3, Event3) 				& E\_OK					& 10\endnotemark[1] \\ \hline
	t1	& GetEvent(t3, \&EventMask) 			& E\_OK, EventMask= Event3	& 	\\ \hline
	t1 	& SetEvent(t2, Event1)				& E\_OK 					& 6 \\ \hline
	t2 	& ClearEvent(Event1) 				& E\_OK 					&  \\ \hline
	t2 	& SetEvent(t1, Event1)				& E\_OK 					& 10 \\ \hline
	t2 	& WaitEvent(Event1)					& E\_OK					& \\ \hline
	t1	& ActivateTask(t4) 					& E\_OK					& \\ \hline
	t4	& SetEvent(t2, Event1)				& E\_OK 					& 7 \\ \hline
	t4	& GetTaskState(t2, \&TaskState) 		& E\_OK, TaskState=READY	& \\ \hline
	t4	& TerminateTask() 					&						&\\ \hline
	t2	& TerminateTask() 					&						&\\ \hline
	t1 	& GetEvent(t1, \&EventMask) 			& E\_OK, EventMask= Event1	&  \\ \hline
	t1	& TerminateTask() 					&						&\\ \hline
	t3 	& WaitEvent(Event3) 				& E\_OK 					&  \\ \hline
	t3	& TerminateTask() 					&						&\\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		 25, 26, 27, 28, 29, 30, 34, 36, 37, 38, 39, 40
	RETURN STATUS:	  EXTENDED 
	SCHEDULING POLICY:   NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/events_s5.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& WaitEvent(Event1) 						& E\_OK	 			& \\ \hline 
	t2	& ActivateTask(t3)							& E\_OK				& \\ \hline 
	t2	& ActivateTask(t5)							& E\_OK				& \\ \hline 
	t2	& WaitEvent(Event1) 						& E\_OK	 			& \\ \hline 
	t3 	& \textit{trigger interrupt isr1}					&  					& \\ \hline
	isr1	& GetEvent(INVALID\_TASK, \&EventMask) 		& E\_OS\_ID			& 36 \\ \hline 
	isr1 	& GetEvent(t3, \&EventMask)					& E\_OS\_ACCESS 		& 37 \\ \hline 
	isr1	& GetEvent(t4, \&EventMask) 					& E\_OS\_STATE 		& 38 \\ \hline 
	isr1 	& GetEvent(t5, \&EventMask)					& E\_OK 				& 39 \\ \hline 
	isr1	& GetEvent(t2, \&EventMask) 					& E\_OK		 		& 40 \\ \hline 
	isr1	& SetEvent(INVALID\_TASK, Event1) 			& E\_OS\_ID	 		& 25 \\ \hline 
	isr1	& SetEvent(t3, Event1) 						& E\_OS\_ACCESS 		& 26 \\ \hline 
	isr1	& SetEvent(t4, Event1) 						& E\_OS\_STATE		& 27 \\ \hline 
	isr1	& SetEvent(t1, Event2) 						& E\_OK		 		& 30 \\ \hline 
	isr1	& SetEvent(t1, Event1) 						& E\_OK		 		& 28 \\ \hline 
	isr1	& SetEvent(t2, Event1) 						& E\_OK		 		& 29 \\ \hline 
	isr1	& SetEvent(t5, Event1) 						& E\_OK		 		& 34 \\ \hline 
	t3	& TerminateTask()							&					&  \\ \hline
	t1	& TerminateTask()							&					&  \\ \hline
	t2	& TerminateTask()							&					&  \\ \hline
	t5	& TerminateTask()							&					&  \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		 25, 26, 27, 31, 32, 33, 35, 36, 37, 38, 39, 40
	RETURN STATUS:	  EXTENDED 
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/events_s6.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& WaitEvent(Event1) 						& E\_OK	 			& \\ \hline 
	t2	& ActivateTask(t5)							& E\_OK				& \\ \hline 
	t2	& WaitEvent(Event1) 						& E\_OK	 			& \\ \hline 
	t5	& ActivateTask(t3)							& E\_OK				& \\ \hline 
	t3 	& \textit{trigger interrupt isr1}					&  					& \\ \hline
	isr1	& GetEvent(INVALID\_TASK, \&EventMask) 		& E\_OS\_ID			& 36 \\ \hline 
	isr1 	& GetEvent(t3, \&EventMask)					& E\_OS\_ACCESS 		& 37 \\ \hline 
	isr1	& GetEvent(t4, \&EventMask) 					& E\_OS\_STATE 		& 38 \\ \hline 
	isr1 	& GetEvent(t5, \&EventMask)					& E\_OK 				& 39 \\ \hline 
	isr1	& GetEvent(t2, \&EventMask) 					& E\_OK		 		& 40 \\ \hline 
	isr1	& SetEvent(INVALID\_TASK, Event1) 			& E\_OS\_ID	 		& 25 \\ \hline 
	isr1	& SetEvent(t3, Event1) 						& E\_OS\_ACCESS 		& 26 \\ \hline 
	isr1	& SetEvent(t4, Event1) 						& E\_OS\_STATE		& 27 \\ \hline 
	isr1	& SetEvent(t1, Event2) 						& E\_OK		 		& 33 \\ \hline 
	isr1	& SetEvent(t1, Event1) 						& E\_OK		 		& 31 \\ \hline 
	isr1	& SetEvent(t2, Event1) 						& E\_OK		 		& 32 \\ \hline 
	isr1	& SetEvent(t5, Event1) 						& E\_OK		 		& 35 \\ \hline 
	t1	& TerminateTask()							&					&  \\ \hline
	t3	& TerminateTask()							&					&  \\ \hline
	t2	& TerminateTask()							&					&  \\ \hline
	t5	& TerminateTask()							&					&  \\ \hline
	\end{supertabular} \\

\subsection{Resource management}
	The non-preemptive mode of test sequence 4 (cf OSEK Test Procedure \cite{OSEK_Test_Procedure_20} p38) has to be extended because it's forbidden to call Schedule() from standard mode (because the resource used is not saved when the task releases RES\_SCHEDULER). \\
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :} 
	\begin{lstlisting}
	TEST CASES:		 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12
	RETURN STATUS:	  EXTENDED 
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/resources_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 & GetResource(ResourceA) 				& E\_OK			& 4, 5 \\ \hline 
	t1 & ReleaseResource(ResourceA) 			& E\_OK			& \\ \hline 
	t1 & GetResource(INVALID\_RESOURCE)	& E\_OS\_ID 		& 1 \\ \hline
	t1 & GetResource(Resource1) 				& E\_OK 			& \\ \hline
	t1 & GetResource(Resource2) 				& E\_OK 			& \\ \hline 
	t1 & GetResource(Resource3) 				& E\_OK  			& \\ \hline
	t1 & GetResource(Resource4) 				& E\_OK  			& \\ \hline
	t1 & GetResource(Resource5) 				& E\_OK  			& \\ \hline
	t1 & GetResource(Resource6) 				& E\_OK 			& \\ \hline
	t1 & ReleaseResource(Resource6) 			& E\_OK 			& \\ \hline
	t1 & ReleaseResource(Resource5) 			& E\_OK  			& \\ \hline
	t1 & ReleaseResource(Resource4) 			& E\_OK  			& \\ \hline
	t1 & ReleaseResource(Resource3) 			& E\_OK  			& \\ \hline
	t1 & ReleaseResource(Resource1) 			& E\_OS\_NOFUNC	& 9 \\ \hline 
	t1 & ReleaseResource(Resource2) 			& E\_OK 			& \\ \hline 
	t1 & GetResource(Resource1) 				& E\_OS\_ACCESS	& 3 \\ \hline
	t1 & ReleaseResource(Resource1) 			& E\_OK	& 11, 12  \\ \hline
	
	t1& ActivateTask(t2)						& E\_OK			& \\ \hline
	t1 & \textit{force scheduling}				& 		 		& \\ \hline 
	
	t2 & GetResource(Resource2) 				& E\_OS\_ACCESS	& 2 \\ \hline
	t2 & ReleaseResource(Resource1) 			& E\_OS\_ACCESS 	& 10 \\ \hline
	t2 & TerminateTask()					& 				&  \\ \hline

	t1 & ReleaseResource(INVALID\_RESOURCE) & E\_OS\_ID 		& 7 \\ \hline
	t1 & ReleaseResource(Resource1) 			& E\_OS\_NOFUNC 	& 8 \\ \hline
	t1 & ReleaseResource(RES\_SCHEDULER)	& E\_OS\_NOFUNC 	& 8 \\ \hline
	t1 & TerminateTask() 					& 				&  \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :} 
	\begin{lstlisting}
	TEST CASES:		 4, 11
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/resources_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 & GetResource(Resource1) 				& E\_OK 				& 5 \\ \hline
	t1 & ActivateTask(t2)						& E\_OK 				& \\ \hline
	t1 & Schedule()							& E\_OS\_RESOURCE	& \\ \hline 
	t1 & ActivateTask(t3)						& E\_OK 				& \\ \hline
	t1 & Schedule()							& E\_OS\_RESOURCE	& \\ \hline 
	t1 & ReleaseResource(Resource1) 			& E\_OK 				& 11 \\ \hline
	t1 & Schedule()							& E\_OK				& \\ \hline 
	t3 & TerminateTask()					& 					&  \\ \hline
	t2 & TerminateTask() 					& 					&  \\ \hline
	t1 & TerminateTask()					& 					&  \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :} 
	\begin{lstlisting}
	TEST CASES:		 5, 12
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/resources_s3.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 & GetResource(Resource1) 				& E\_OK 				& 5 \\ \hline
	t1 & ActivateTask(t2)						& E\_OK 				& \\ \hline 
	t1 & ActivateTask(t3)						& E\_OK 				& \\ \hline
	t3 & TerminateTask()					& 					&  \\ \hline 
	t1 & ReleaseResource(Resource1) 			& E\_OK 				& 12 \\ \hline 
	t2 & TerminateTask() 					& 					&  \\ \hline
	t1 & TerminateTask()					& 					&  \\ \hline
	\end{supertabular} \\
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :} 
	\begin{lstlisting}
	TEST CASES:		 6, 13, 14
	RETURN STATUS:	  EXTENDED 
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/resources_s4.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 & GetResource(RES\_SCHEDULER)		& E\_OK 					& 6 \\ \hline
	t1 & ActivateTask(t2)						& E\_OK 					& \\ \hline
	t1 & \textit{force scheduling}				& E\_OS\_RESOURCE, None	& \\ \hline 
	t1 & ActivateTask(t3)						& E\_OK 					& \\ \hline
	t1 & \textit{force scheduling}				& E\_OS\_RESOURCE, None	& \\ \hline 
	t1 & ReleaseResource(RES\_SCHEDULER)	& E\_OK 					& 13, 14 \\ \hline
	t1 & \textit{force scheduling}				& E\_OK, None				& \\ \hline 
	t3 & TerminateTask()					& 						&  \\ \hline
	t2 & TerminateTask() 					& 						&  \\ \hline
	t1 & TerminateTask()					& 						&  \\ \hline	
	\end{supertabular} \\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :} 
	\begin{lstlisting}
	TEST CASES:		 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25
	RETURN STATUS:	  EXTENDED 
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/resources_s5.txt}
		
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& \textit{trigger interrupt isr1}				&  					& \\ \hline
	isr1 	& GetResource(INVALID\_RESOURCE)		& E\_OS\_ID 			& 15 \\ \hline
	isr1	& GetResource(Resource3) 				& E\_OS\_ACCESS		& 16 \\ \hline
	isr1 	& GetResource(Resource1) 				& E\_OK 				& 19 \\ \hline
	isr1 	& GetResource(Resource1) 				& E\_OS\_ACCESS		& 17 \\ \hline
	isr1 	& GetResource(RES\_SCHEDULER)		& E\_OS\_ACCESS		& 18 \\ \hline
	isr1 	& GetResource(Resource2) 				& E\_OK 				& \\ \hline
	
	isr1 	& \textit{trigger interrupt isr2}				&  					& \\ \hline
	isr1 	& \textit{trigger interrupt isr3}				&  					& \\ \hline
	isr3 	& ReleaseResource(Resource1) 			& E\_OS\_ACCESS 		& 23 \\ \hline

	isr1 	& ReleaseResource(Resource1) 			& E\_OS\_NOFUNC 		& 22 \\ \hline
	isr1 	& ReleaseResource(Resource2) 			& E\_OK		 		& 25 \\ \hline
	isr1 	& ReleaseResource(Resource1) 			& E\_OK		 		& 25 \\ \hline
	
	isr2	& 									& 					& \\ \hline
	
	isr1 	& ReleaseResource(INVALID\_RESOURCE)	& E\_OS\_ID		 	& 20 \\ \hline
	isr1 	& ReleaseResource(Resource1) 			& E\_OS\_NOFUNC 		& 21 \\ \hline
	isr1 	& ReleaseResource(RES\_SCHEDULER)	& E\_OS\_ACCESS 		& 24 \\ \hline
	
	t1 & TerminateTask() 						& 				&  \\ \hline
	\end{supertabular} \\

\subsection{Alarm}
This section comes from OSEK/VDX Test Procedure \cite{OSEK_Test_Procedure_20} in which we bring some modifications (see Trampoline Test Implementation \cite{TrampolineTestImplementation_10} - Test code organisation and distribution - Alarm Test Sequences).\\
Test case 35 can not be tested, because it is not possible to trigger the alarm’s counter while no task is running. \\
Since no API service calls are allowed in callback routine, test sequence 10 appears.\\
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		      1, 3, 8, 12, 13, 14, 15, 19, 23, 24, 25, 26, 30
	RETURN STATUS:	    EXTENDED
	SCHEDULING POLICY:  NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetAlarmBase(INVALID\_ALARM, \&AlarmBase)					& E\_OS\_ID		& 1 \\ \hline
	t1	& GetAlarm(INVALID\_ALARM, \&Tick) 							& E\_OS\_ID		& 3 \\ \hline
	t1	& GetAlarmBase(Alarm1, \&AlarmBase)					& E\_OK 			&\\ \hline
	t1	& SetRelAlarm(INVALID\_ALARM, 0, 0)							& E\_OS\_ID 		& 8 \\ \hline
	t1	& SetRelAlarm(Alarm1, -1, 0)							& E\_OS\_VALUE 	& 12 \\ \hline
	t1	& SetRelAlarm(Alarm1, AlarmBase.maxallowedvalue+1, 0)	& E\_OS\_VALUE	& 13 \\ \hline
	t1	& SetRelAlarm(Alarm1, 0, AlarmBase.mincycle-1)			& E\_OS\_VALUE	& 14 \\ \hline
	t1	& SetRelAlarm(Alarm1, 0, AlarmBase.maxallowedvalue+1)	& E\_OS\_VALUE 	& 15 \\ \hline
	t1	& SetAbsAlarm(INVALID\_ALARM, 0, 0)							& E\_OS\_ID 		& 19 \\ \hline
	t1	& SetAbsAlarm(Alarm1, -1, 0)							& E\_OS\_VALUE	& 23 \\ \hline
	t1	& SetAbsAlarm(Alarm1, AlarmBase.maxallowedvalue+1, 0)	& E\_OS\_VALUE 	& 24 \\ \hline
	t1	& SetAbsAlarm(Alarm1, 0, AlarmBase.mincycle-1) 			& E\_OS\_VALUE	& 25 \\ \hline
	t1	& SetAbsAlarm(Alarm1, 0, AlarmBase.maxallowedvalue+1)	& E\_OS\_VALUE	& 26 \\ \hline
	t1	& CancelAlarm(INVALID\_ALARM) 							&E\_OS\_ID		& 30 \\ \hline
	t1	& TerminateTask()									&				&\\ \hline
	\end{supertabular} \\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		      2, 4, 5, 9, 16, 20, 27, 31, 32
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 & GetAlarmBase(Alarm1, \&AlarmBase) 				& E\_OK, MAXALLOWEDVALUE=16, TICKSPERBASE=10, MINCYCLE=1	& 2 \\ \hline 
	t1 & GetAlarm(Alarm1, \&Tick)							& E\_OS\_NOFUNC 	& 4 \\ \hline 
	t1 & CancelAlarm(Alarm1) 							& E\_OS\_NOFUNC 	& 31 \\ \hline 
	t1 & SetAbsAlarm(Alarm1, 2, 2)							& E\_OK 			& 27 \\ \hline 
	t1 & SetAbsAlarm(Alarm1, 3, 0) 						& E\_OS\_STATE 	& 20 \\ \hline
	t1 & \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 				& \\ \hline 
	t2 & TerminateTask() 								& 				& \\ \hline 
	t1 & \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 				& \\ \hline 
	t2 & TerminateTask() 								& 				& \\ \hline 
	t1 & CancelAlarm(Alarm1)							& E\_OK 			& 32 \\ \hline  
	t1 & SetRelAlarm(Alarm1, 2, 0)							& E\_OK 			& 16 \\ \hline 
	t1 & SetRelAlarm(Alarm1, 3, 0) 						& E\_OS\_STATE 	& 9 \\ \hline 
	t1 & GetAlarm(Alarm1, \&Tick)							& E\_OK, Tick=2 	& 5 \\ \hline 
	t1 & \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 				& \\ \hline 
	t2 & TerminateTask()								& 				& \\ \hline 
	t1 & TerminateTask()								& 				& \\ \hline 
	\end{supertabular} \\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		      6, 10, 17, 21, 28, 33, 40
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t2	& WaitEvent(Event2) 							& E\_OK			& \\ \hline 
	t1	& SetAbsAlarm(Alarm1, 2, 2)						& E\_OK 			& 28 \\ \hline 
	t1	& SetAbsAlarm(Alarm1, 3, 0)						& E\_OS\_STATE 	& 21 \\ \hline 
	t1	& \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 				& 40 \\ \hline 
	t2	& ClearEvent(Event2) 							& E\_OK 			&\\ \hline 
	t2	& WaitEvent(Event2)								& E\_OK			& \\ \hline 
	t1	& \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 				& 40 \\ \hline 
	t2 	& ClearEvent(Event2) 							& E\_OK			& \\ \hline 
	t2	& WaitEvent(Event2)								& E\_OK			& \\ \hline 
	t1	& CancelAlarm(Alarm1) 							& E\_OK			& 33 \\ \hline 
	t1	& SetRelAlarm(Alarm1, 2, 0)						& E\_OK			& 17 \\ \hline 
	t1	& SetRelAlarm(Alarm1, 3, 0)						& E\_OS\_STATE 	& 10 \\ \hline 
	t1	& GetAlarm(Alarm1, \&Tick) 						& E\_OK, Tick = 2	& 6 \\ \hline 
	t1	& \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 				& 40 \\ \hline 
	t2 	& TerminateTask() 								& 				& \\ \hline 
	t1	& TerminateTask()								&				&\\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		      7, 11, 18, 22, 29, 34
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& SetAbsAlarm(Alarm1, 2, 2)						& E\_OK 			& 29 \\ \hline 
	t1 	& SetAbsAlarm(Alarm1, 3, 0) 						& E\_OS\_STATE 	& 22 \\ \hline
	t1 	& \textit{Wait alarm expires}					 	& 				& 43 \\ \hline 
	CallBack 	& 									 	& 				& \\ \hline 
	t1 	& \textit{Wait alarm expires}					 	& 				& \\ \hline 
	CallBack 	& 						 				& 				& 43 \\ \hline 
	t1 	& CancelAlarm(Alarm1)							& E\_OK 			& 34 \\ \hline  
	t1 	& SetRelAlarm(Alarm1, 2, 0)						& E\_OK 			& 18 \\ \hline 
	t1 	& SetRelAlarm(Alarm1, 3, 0) 						& E\_OS\_STATE 	& 11 \\ \hline 
	t1 	& GetAlarm(Alarm1, \&Tick)						& E\_OK, Tick=2 	& 7 \\ \hline 
	t1 	& \textit{Wait alarm expires}					 	& 				& \\ \hline 
	CallBack 	& 									 	& 				& 43 \\ \hline 
	t1 	& TerminateTask()								& 				& \\ \hline 	
	\end{supertabular} \\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		      36
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s5.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& SetRelAlarm(Alarm1, 0, 0)				& E\_OK					& \\ \hline 
	t1	& \textit{Wait alarm expires}			 	& 						& 36 \\ \hline 
	t1	& GetTaskState(t2, \&TaskState)			& E\_OK, TaskState=READY	& \\ \hline 
	t1	& TerminateTask()						&						&\\ \hline 
	t2 	& TerminateTask() 						& 						& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		      37, 38
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s6.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SetRelAlarm(Alarm1, 2, 0)				& E\_OK 					& \\ \hline 
	t1	& \textit{Wait alarm expires}			 	& 						& 37 \\ \hline 
	t2 	& TerminateTask()						&						& \\ \hline 
	t1	& ChainTask(t3) 						&						&\\ \hline 
	t3	& SetRelAlarm(Alarm1, 2, 0)				& E\_OK					& \\ \hline 
	t3	& \textit{Wait alarm expires}			 	& 						& 38 \\ \hline 
	t3 	& GetTaskState(t2, \&State) 				& E\_OK, TaskState=READY	& \\ \hline 
	t3	& TerminateTask()						&						&\\ \hline 
	t2 	& TerminateTask() 						& 						& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 7 %
	\textbf{Test Sequence 7 :}
	\begin{lstlisting}
	TEST CASES:		      39, 40
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  NON-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s7.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 	& ActivateTask(t2)						& E\_OK					& \\ \hline 
	t1	& SetRelAlarm(Alarm1, 2, 0)				& E\_OK					& \\ \hline 
	t1	& \textit{Wait alarm expires}			 	& 						& 40 \\ \hline  
	t1	& GetEvent(t2, \&EventMask) 				& E\_OK, EventMask=Event1	&\\ \hline 
	t1	& Schedule() 							& E\_OK					& \\ \hline 
	t2	& ClearEvent(Event1) 					& E\_OK					& \\ \hline 
	t2	& WaitEvent(Event1) 					& E\_OK					& \\ \hline 
	t1	& SetRelAlarm(Alarm1, 2, 0)				& E\_OK					& \\ \hline 
	t1	& \textit{Wait alarm expires}			 	& 						& 39 \\ \hline 
	t1	& GetTaskState(t2, \&TaskState) 			& E\_OK, TaskState=READY	&\\ \hline  
	t1	& TerminateTask()						&						&\\ \hline 
	t2 	& TerminateTask() 						& 						& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 8 %
	\textbf{Test Sequence 8 :}
	\begin{lstlisting}
	TEST CASES:		      41, 42
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s8.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t2	& WaitEvent(Event2) 					& E\_OK					& \\ \hline
	t1	& ActivateTask(t3)						& E\_OK 					&\\ \hline
	t3	& SetRelAlarm(Alarm1, 2, 0)				& E\_OK					& \\ \hline
	t3	& \textit{Wait alarm expires}			 	& 						& 41 \\ \hline  
	t3	& GetTaskState(t2, \&TaskState)			& E\_OK, TaskState=READY	&\\ \hline
	t3	& TerminateTask()						&						& \\ \hline
	t2	& ClearEvent(Event2) 					& E\_OK					& \\ \hline
	t2	& ActivateTask(t4) 						& E\_OK					& \\ \hline
	t4	& SetRelAlarm(Alarm1, 2, 0) 				& E\_OK					& \\ \hline
	t4	& \textit{Wait alarm expires}			 	& 						& 42 \\ \hline  
	t4 	& GetEvent(t2, \&EventMask) 				& E\_OK, EventMask=Event2 	&\\ \hline
	t4 	& TerminateTask() 						& 						& \\ \hline 
	t2 	& TerminateTask() 						& 						& \\ \hline 
	t1 	& TerminateTask() 						& 						& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 9 %
	\textbf{Test Sequence 9 :}\\
	All alarm routines are allowed from ISR2. Test cases from 1 to 34 are tested from ISR2 in this sequence. \\ 
	Test case 35 can not be tested, because it is not possible to trigger the alarm’s counter while no task is running.
	\begin{lstlisting}
	TEST CASES:		      1 to 34
	RETURN STATUS:	    EXTENDED
	SCHEDULING POLICY:  NON-, MIXED-, FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s9.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t5	& \textit{trigger interrupt isr1}			 				& 						& \\ \hline 
	isr1	& ActivateTask(t4)									& E\_OK					& \\ \hline
	isr1	& ActivateTask(t3)									& E\_OK					& \\ \hline
	isr1	& GetAlarmBase(INVALID\_ALARM, \&AlarmBase)			& E\_OS\_ID				& 1 \\ \hline
	isr1	& GetAlarmBase(Alarm0, \&AlarmBase)					& E\_OK 					& 2 \\ \hline
	isr1	& GetAlarm(INVALID\_ALARM, \&Tick) 					& E\_OS\_ID				& 3 \\ \hline
	isr1	& GetAlarm(Alarm0, \&Tick)		 					& E\_OS\_NOFUNC			& 4 \\ \hline
	
	isr1	& SetRelAlarm(INVALID\_ALARM, 0, 0)					& E\_OS\_ID 				& 8 \\ \hline
	isr1	& SetRelAlarm(Alarm0, -1, 0)							& E\_OS\_VALUE 			& 12 \\ \hline
	isr1	& SetRelAlarm(Alarm0, AlarmBase.maxallowedvalue+1, 0)	& E\_OS\_VALUE			& 13 \\ \hline
	isr1	& SetRelAlarm(Alarm0, 0, AlarmBase.mincycle-1)			& E\_OS\_VALUE			& 14 \\ \hline
	isr1	& SetRelAlarm(Alarm0, 0, AlarmBase.maxallowedvalue+1)	& E\_OS\_VALUE 			& 15 \\ \hline
	isr1	& SetAbsAlarm(INVALID\_ALARM, 0, 0)					& E\_OS\_ID 				& 19 \\ \hline
	isr1	& SetAbsAlarm(Alarm0, -1, 0)							& E\_OS\_VALUE			& 23 \\ \hline
	isr1	& SetAbsAlarm(Alarm0, AlarmBase.maxallowedvalue+1, 0)	& E\_OS\_VALUE 			& 24 \\ \hline
	isr1	& SetAbsAlarm(Alarm0, 0, AlarmBase.mincycle-1) 			& E\_OS\_VALUE			& 25 \\ \hline
	isr1	& SetAbsAlarm(Alarm0, 0, AlarmBase.maxallowedvalue+1)	& E\_OS\_VALUE			& 26 \\ \hline
	isr1	& CancelAlarm(INVALID\_ALARM) 						&E\_OS\_ID				& 30 \\ \hline
	isr1	& CancelAlarm(Alarm0)	 							&E\_OS\_NOFUNC			& 31 \\ \hline
	
	isr1	& SetRelAlarm(Alarm1\_1, 2 , 2)						& E\_OK					& 16 \\ \hline
	isr1	& SetRelAlarm(Alarm1\_1, 2 , 2)						& E\_OS\_STATE			& 9 \\ \hline
	isr1	& GetAlarm(Alarm1\_1, \&Tick)							& E\_OK, Tick=2			& 5 \\ \hline
	isr1	& \textit{Wait alarm expires}						 	& 						& \\ \hline 
	isr1	& CancelAlarm(Alarm1\_1)							& E\_OK					& 32 \\ \hline
	
	isr1	& SetAbsAlarm(Alarm1\_2, 2 , 2)						& E\_OK					& 27 \\ \hline
	isr1	& SetAbsAlarm(Alarm1\_2, 2 , 2)						& E\_OS\_STATE			& 20 \\ \hline
	isr1	& \textit{Wait alarm expires}						 	& 						&  \\ \hline 
	
	isr1	& SetRelAlarm(Alarm2\_1, 2 , 2)						& E\_OK					& 17 \\ \hline
	isr1	& SetRelAlarm(Alarm2\_1, 2 , 2)						& E\_OS\_STATE			& 10 \\ \hline
	isr1	& GetAlarm(Alarm2\_1, \&Tick)							& E\_OK, Tick=2			& 6 \\ \hline
	isr1	& \textit{Wait alarm expires}						 	& 						&  \\ \hline 
	isr1	& CancelAlarm(Alarm2\_1)							& E\_OK					& 33 \\ \hline
	
	isr1	& SetAbsAlarm(Alarm2\_2, 2 , 2)						& E\_OK					& 28 \\ \hline
	isr1	& SetAbsAlarm(Alarm2\_2, 2 , 2)						& E\_OS\_STATE			& 21 \\ \hline
	isr1	& \textit{Wait alarm expires}						 	& 						& \\ \hline 
	
	isr1	& SetRelAlarm(Alarm3, 2 , 2)							& E\_OK					& 18 \\ \hline
	isr1	& SetRelAlarm(Alarm3, 2 , 2)							& E\_OS\_STATE			& 11 \\ \hline
	isr1	& GetAlarm(Alarm3, \&Tick)							& E\_OK, Tick=2			& 7 \\ \hline
	isr1	& \textit{Wait alarm expires}						 	& 						& \\ \hline 
	CallBack & 											& 						& \\ \hline 
	isr1	& CancelAlarm(Alarm3)								& E\_OK					& 34 \\ \hline
	
	isr1	& SetAbsAlarm(Alarm1\_2, 2 , 2)						& E\_OK					& 29 \\ \hline
	isr1	& SetAbsAlarm(Alarm1\_2, 2 , 2)						& E\_OS\_STATE			& 22 \\ \hline
	isr1	& \textit{Wait alarm expires}						 	& 						& \\ \hline 
	CallBack & 											& 						& \\ \hline 
	
	\{NON\}t5 	& TerminateTask()								&						& \\ \hline 
	t3 	& TerminateTask()									&						& \\ \hline 
	\{FULL\}t5 	& TerminateTask()							&						& \\ \hline 
	t4 	& TerminateTask()									&						& \\ \hline 
	t1 	& TerminateTask()									&						& \\ \hline 
	t2 	& TerminateTask()									&						& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 10 %
	\textbf{Test Sequence 10 :}\\
	\textcolor{red}{This test sequence should return E\_OS\_CALLEVEL (instead of E\_OK) because service calls in callback routines are forbidden!!}
	\begin{lstlisting}
	TEST CASES:		      41, 42
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s10.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SetRelAlarm(Alarm1, 2, 0)				& E\_OK					& \\ \hline
	t1	& \textit{Wait alarm expires}			 	& 						& \\ \hline  
	CallBack	& ActivateTask(t2)					& E\_OS\_CALLEVEL		& \\ \hline
	t1	& TerminateTask()						& 						& \\ \hline 
	\end{supertabular} \\
	
	% TEST SEQUENCE 11 %
	\textbf{Test Sequence 11 :}\\
	\begin{lstlisting}
	TEST CASES:		      ...
	RETURN STATUS:	    STANDARD, EXTENDED
	SCHEDULING POLICY:  FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/alarms_s11.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{Wait alarm expires}				&						& \\ \hline
	t2	& TerminateTask()						& 						& \\ \hline 
	t1	& \textit{Wait alarm expires}				&						& \\ \hline
	t3	& TerminateTask()						& 						& \\ \hline 
	t1	& CancelAlarm(Alarm2)					& E\_OK					& \\ \hline
	t1	& TerminateTask()						& 						& \\ \hline 
	\end{supertabular} \\
	
	
\subsection{Error handling, hook routines and OS execution control}
	Test case 2 (call StartOS() to start OSEK OS) can not be tested, because the startup code is implementation specific. \\
	Test case 27 doesn't appear because activation of an ISR is one and this ISR has been already activated (see test sequence 4).\\
	As you can see in test sequences 4, 5 and 6, each time we send an interrupt, the following code is inserted :
	\begin{lstlisting}
		trigger interrupt isr1
		SuspendAllInterrupts()	
		trigger interrupt isr1
		ResumeAllInterrupts()
	\end{lstlisting}
	The first triggering interrupt, tests if interrupts are allowed in Post-Pre/taskhook because it shouldn't. The second is between Suspend-Resume/AllInterrupts() and tests those two service calls.\\	
	Since few API service calls are allowed in hook routines, test sequence 7 appears.\\
	
\settowidth{\Li}{PostTask-Hook}
\setlength{\Lii}{6cm}	
\setlength{\Liii}{\textwidth} \addtolength{\Liii}{-\Li} \addtolength{\Liii}{-\Lii} \addtolength{\Liii}{-\Liiii}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		 1, 3, 7
	RETURN STATUS:	  STANDARD, EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			 StartupHook, ShutdownHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/hook_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	Startup-Hook		& GetActiveApplicationMode()			& OSDEFAULTAPPMODE	& 1, 6 \\ \hline
	Startup-Hook		& ShutdownOS()					& 						& 3 \\ \hline
	Shutdown-Hook	& GetActiveApplicationMode()			& OSDEFAULTAPPMODE	& 1, 7\\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		 1, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			 StartupHook, ShutdownHook, ErrorHook, PostTaskHook, PreTaskHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/hook_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	PreTask-Hook		& GetActiveApplicationMode()			& OSDEFAULTAPPMODE			& 1, 4 \\ \hline
	PreTask-Hook		& GetTaskID()						& E\_OK, TaskID=t1				& 8 \\ \hline	
	PreTask-Hook		& GetTaskState()					& E\_OK, TaskState=RUNNING		& 9 \\ \hline	
	PreTask-Hook		& GetEvent()						& E\_OK, EventMask=0x0				& 12 \\ \hline	
	PreTask-Hook		& GetAlarmBase()					& E\_OK, MAXALLOWEDVALUE=16, TICKSPERBASE=10, MINCYCLE=1							& 13 \\ \hline
	PreTask-Hook		& GetAlarm()						& E\_OS\_NOFUNC					& \\ \hline	
	ErrorHook			& 								& 								& \\ \hline
	
	t1			& SetAbsAlarm(Alarm1, MAXALLOWEDVALUE, 0)	& E\_OK					& \\ \hline	
	t1			& WaitEvent(Event1)						& E\_OK							& \\ \hline
	
	PostTask-Hook		& GetTaskID()						& E\_OK, TaskID=t1				& 8 \\ \hline	
	PostTask-Hook		& GetTaskState()					& E\_OK, TaskState=RUNNING			& 9 \\ \hline	
	PostTask-Hook		& GetEvent()						& E\_OK, EventMask=0x0				& 12 \\ \hline	
	PostTask-Hook		& GetAlarmBase()					& E\_OK, MAXALLOWEDVALUE=16, TICKSPERBASE=10, MINCYCLE=1							& 13 \\ \hline
	PostTask-Hook		& GetAlarm()						& E\_OK, Tick=MAXALLOWEDVALUE	& 14 \\ \hline	
	
	PreTask-Hook		& GetTaskID()						& E\_OK, TaskID=INVALID\_TASK		& 8 \\ \hline	
	PreTask-Hook		& GetTaskState()					& E\_OS\_ID						& \\ \hline	
	ErrorHook			& 								& 								& \\ \hline
	PreTask-Hook		& GetEvent()						& E\_OS\_ID						& \\ \hline	
	ErrorHook			& 								& 								& \\ \hline
	PreTask-Hook		& GetAlarmBase()					& E\_OK, MAXALLOWEDVALUE=16, TICKSPERBASE=10, MINCYCLE=1							& 13 \\ \hline
	PreTask-Hook		& GetAlarm()						& E\_OK, Tick=MAXALLOWEDVALUE	& 14 \\ \hline	
	
	Idle				& \textit{Wait for the alarm}					&								&\\ \hline
	
	PostTask-Hook		& GetTaskID()						& E\_OK, TaskID=INVALID\_TASK		& 8 \\ \hline	
	PostTask-Hook		& GetAlarm()						& E\_OS\_NOFUNC					& \\ \hline	
	ErrorHook			& 								& 								& \\ \hline
	
	PreTask-Hook		& GetTaskID()						& E\_OK, TaskID=t1				& 8 \\ \hline	
	PreTask-Hook		& GetTaskState()					& E\_OK, TaskState=RUNNING		& 9 \\ \hline	
	PreTask-Hook		& GetEvent()						& E\_OK, EventMask=0x0				& 12 \\ \hline	
	PreTask-Hook		& GetAlarmBase()					& E\_OK, MAXALLOWEDVALUE=16, TICKSPERBASE=10, MINCYCLE=1							& 13 \\ \hline
	PreTask-Hook		& GetAlarm()						& E\_OS\_NOFUNC					& \\ \hline	
	ErrorHook			& 								& 								& \\ \hline
	
	t1				& SetEvent(t1, \&Event1)				& E\_OK							& \\ \hline
	t1				& ChainTask(t2)					& 								& \\ \hline
	
	PostTask-Hook		& GetTaskID()						& E\_OK, TaskID=t1				& 8 \\ \hline	
	PostTask-Hook		& GetTaskState()					& E\_OK, TaskState=RUNNING  		& 9 \\ \hline	
	PostTask-Hook		& GetEvent()						& E\_OK, EventMask=Event1			& 12 \\ \hline	
	
	PreTask-Hook		& GetTaskID()						& E\_OK, TaskID=t2				& 8 \\ \hline	
	PreTask-Hook		& GetTaskState()					& E\_OK, TaskState=RUNNING		& 9 \\ \hline	
	PreTask-Hook		& GetEvent()						& E\_OS\_ACCESS					& \\ \hline	
	ErrorHook			& 								& 								& \\ \hline
	
	t2			& ShutdownOS()						& 								& 3 \\ \hline
	
	Shutdown-Hook	& 								& 								& 7 \\ \hline	
	\end{supertabular}\\
	
	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		 1, 5, 8, 9, 12, 13, 14
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			 StartupHook, ShutdownHook, ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/hook_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1			& SetAbsAlarm(Alarm1, MAXALLOWEDVALUE, MAXALLOWEDVALUE)	& E\_OK							& \\ \hline
	t1			& WaitEvent(Event1)												& E\_OK							& \\ \hline
	Idle				& \textit{Wait for the alarm}											&								&\\ \hline
	t1			& SetAbsAlarm(Alarm1, 2, 2)										& E\_OS\_STATE					& \\ \hline
	Error-Hook		& GetActiveApplicationMode()									& OSDEFAULTAPPMODE			& 1, 5 \\ \hline
	Error-Hook		& GetTaskID()												& E\_OK, TaskID=t1				& 8 \\ \hline	
	Error-Hook		& GetTaskState()											& E\_OK, TaskState=RUNNING		& 9 \\ \hline	
	Error-Hook		& GetEvent()												& E\_OK, EventMask=0x0				& 12 \\ \hline	
	Error-Hook		& GetAlarmBase()											& E\_OK, MAXALLOWEDVALUE=16, TICKSPERBASE=10, MINCYCLE=1							& 13 \\ \hline
	Error-Hook		& GetAlarm()												& E\_OK						& 14 \\ \hline	
	t1			& TerminateTask()												& 								& \\ \hline
	\end{supertabular}\\	
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		 10, 11, 17, 18, 20, 23, 24, 28, 30, 33, 34
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			 PostTaskHook, PreTaskHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/hook_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	PreTask-Hook	&										&				& \\ \hline
	
	t1			& ChainTask(t2)							& 				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	PreTask-Hook	& SuspendAllInterrupts()						&				& 10 \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr1}					&				& 20 \\ \hline
	PreTask-Hook	& ResumeAllInterrupts()						&				& 11 \\ \hline
	
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	PostTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& 17\\ \hline
	PostTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr2}					&				& \\ \hline
	PreTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr2}					&				& 18\\ \hline
	PreTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr2			& GetActiveApplicationMode()					& OSDEFAULTAPPMODE	& 1, 28 \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr1			& 										& 				& 30 \\ \hline
	
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	PostTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& 23\\ \hline
	PostTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr2}					&				& \\ \hline
	PreTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr2}					&				& 24\\ \hline
	PreTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr2			& 										& 				& 34\\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr1			& 										& 				& 33\\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	t2			& TerminateTask()							& 				& \\ \hline
	
	\end{supertabular}\\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		 10, 11, 15, 16, 21, 22, 25, 26, 31, 32
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			 PostTaskHook, PreTaskHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/hook_s5.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	PreTask-Hook	&										&				& \\ \hline
	
	t1			& SetRelAlarm(Alarm1, 2, 0)					& E\_OK			& \\ \hline
	t1			& \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 			&  \\ \hline 
	
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	PostTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& 15\\ \hline
	PostTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr1			& 										& 				& 25\\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	t2			& TerminateTask()							& 				& \\ \hline
	
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	PostTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PostTask-Hook	& \textit{trigger interrupt isr1}					&				& 21\\ \hline
	PostTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr1			& 										& 				& 31\\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	t1			& SetRelAlarm(Alarm1, 2, 0)					& E\_OK			& \\ \hline
	t1			& \textit{Wait alarm expires} \& \textit{Force scheduling} 	& 			&  \\ \hline 
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	PreTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr1}					&				& 16\\ \hline
	PreTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr1			& 										& 				& 26\\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	t2			& TerminateTask()							& 				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	PreTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PreTask-Hook	& \textit{trigger interrupt isr1}					&				& 22\\ \hline
	PreTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	isr1			& 										& 				& 32\\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	t1			& TerminateTask()							& 				& \\ \hline
	
	\end{supertabular}\\

	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		 10, 11, 19, 29, 35, 36
	RETURN STATUS:	  EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			 ErrorHook, PostTaskHook, PreTaskHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/hook_s6.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	PreTask-Hook	&										&				& \\ \hline
	
	t1			& ActivateTask(T1)							& E\_OS\_LIMIT	& \\ \hline
	
	Error-Hook	& \textit{trigger interrupt isr1}					&				& \\ \hline
	Error-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	Error-Hook	& \textit{trigger interrupt isr1}					&				& 35 \\ \hline
	Error-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	isr1			& 										& 				& 36 \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	t1			& ChainTask(t1)						 	& 				&  \\ \hline 
	
	PostTask-Hook	& \textit{trigger interrupt isr2}					&				& \\ \hline
	PostTask-Hook	& SuspendAllInterrupts()						&				& \\ \hline
	PostTask-Hook	& \textit{trigger interrupt isr2}					&				& 19\\ \hline
	PostTask-Hook	& ResumeAllInterrupts()						&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
	
	PostTask-Hook	&										&				& \\ \hline
	PreTask-Hook	&										&				& \\ \hline
		
	isr2			& ShutdownOS()							& 				& 3, 29 \\ \hline
	
	\end{supertabular}\\
	
	% TEST SEQUENCE 7 %
%	\textbf{Test Sequence 7 :}\\
%	\textcolor{red}{This test sequence should return E\_OS\_CALLEVEL (instead of E\_OK) because service calls in callback routines are forbidden!!}
%	\begin{lstlisting}
%	TEST CASES:		 ...
%	RETURN STATUS:	  EXTENDED
%	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
%	HOOKS:			 ErrorHook, PostTaskHook, PreTaskHook
%	\end{lstlisting}
%	%\lstinputlisting{./OIL_to_TXT/hook_s7.txt}
%	
%	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
%	PreTask-Hook	& ActivateTaskt(t2)							& E\_OS\_CALLEVEL	& \\ \hline
%	t1			& ActivateTask(INVALID\_TASK)				& E\_OS\_ID			& \\ \hline
%	ErrorHook		& ActivateTaskt(t2)							& E\_OS\_CALLEVEL	& \\ \hline
%	t1			& ChainTask(t2)							& E\_OK				& \\ \hline
%	PostTask-Hook	& ActivateTaskt(t2)							& E\_OS\_CALLEVEL	& \\ \hline
%	PreTask-Hook	&										& 					& \\ \hline	
%	t2			& TerminateTask()							& 					& \\ \hline
%	\end{supertabular}\\



\subsection{Internal COM}
	Message flag mechanism isn't implement yet (test sequence 3, test case 25).\\
	Since no API service calls are allowed in COM callback routines, tests are inserted in test sequence 3.\\
	Since "Never" filter block all messages, it's not possible to receive a message with this filter. Thus, test case 9 is never tested.\\
	
\setlength{\Lii}{6.5cm}	
\setlength{\Liii}{\textwidth} \addtolength{\Liii}{-\Li} \addtolength{\Liii}{-\Lii} \addtolength{\Liii}{-\Liiii}
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       1, 2, 5, 6, 31, 36, 37, 38, 39, 40, 41, 42, 43
	RETURN COM STATUS:	 EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			         COMErrorHook
	MESSAGE TYPE:	       Unqueued
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/com_internal_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetMessageStatus(sm)								& E\_COM\_ID						& 31 \\ \hline 
	COMErrorHook		& COMErrorGetServiceId()				& GetMessageStatusID				& 42 \\ \hline
	COMErrorHook		& COMError\_GetMessageStatus\_Message()	& sm\_id							& 43 \\ \hline	
	t1	& SendMessage(INVALID\_MESSAGE, "3") 				& E\_COM\_ID						& 2  \\ \hline  
	COMErrorHook		& COMErrorGetServiceId()				& SendMessageID					& 36 \\ \hline
	COMErrorHook		& COMError\_SendMessage\_DataRef()		& "3"								& 38 \\ \hline
	COMErrorHook		& COMError\_SendMessage\_Message()		& INVALID\_MESSAGE				& 37 \\ \hline
	t1	& SendMessage(sm, "0") 								& E\_OK							& 1 \\ \hline  
	t1	& SendMessage(sm, "1") 								& E\_OK							&  \\ \hline  
	t1 	& ActivateTask(t2)									& E\_OK							& \\ \hline 
	t1	& \textit{Force scheduling}							&								& \\ \hline
	t2	& GetMessageStatus(rm)								& E\_COM\_ID						& 31 \\ \hline 
	COMErrorHook		& COMErrorGetServiceId()				& GetMessageStatusID				& \\ \hline
	COMErrorHook		& COMError\_GetMessageStatus\_Message()	& rm\_id							& \\ \hline	
	t2	& ReceiveMessage(rm, \& DataRef)						& E\_OK, DataRef="1"				& 6 \\ \hline 
	t2	& ReceiveMessage(rm, \& DataRef)						& E\_OK, DataRef="1"				& \\ \hline 
	t2	& ReceiveMessage(INVALID\_MESSAGE, \& DataRef)		& E\_COM\_ID						& 5 \\ \hline 
	COMErrorHook		& COMErrorGetServiceId()				& ReceiveMessageID				& 39 \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_DataRef()	& "1"								& 41 \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_Message()	& INVALID\_MESSAGE				& 40 \\ \hline
	t2 	& TerminateTask() 									& 								& \\ \hline 
	t1	& TerminateTask()									&								& \\ \hline 
	\end{supertabular}\\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       3, 4, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43
	RETURN COM STATUS:	 EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			         COMErrorHook
	MESSAGE TYPE:	       Queued
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/com_internal_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetMessageStatus(sm)								& E\_COM\_NOMSG					& 35 \\ \hline 
	t1	& SendMessage(INVALID\_MESSAGE, "5") 				& E\_COM\_ID						& 4 \\ \hline  
	COMErrorHook		& COMErrorGetServiceId()				& SendMessageID					& 36 \\ \hline
	COMErrorHook		& COMError\_SendMessage\_DataRef()		& "5"								& 38 \\ \hline
	COMErrorHook		& COMError\_SendMessage\_Message()		& INVALID\_MESSAGE				& 37 \\ \hline
	t1	& GetMessageStatus(sm)								& E\_COM\_NOMSG					& \\ \hline 
	t1	& SendMessage(sm, "1") 								& E\_OK							& 3 \\ \hline  
	t1	& GetMessageStatus(sm)								& E\_OK							& 32 \\ \hline 
	t1	& SendMessage(sm, "2") 								& E\_OK							&  \\ \hline  
	t1	& GetMessageStatus(sm)								& E\_OK							& \\ \hline 
	t1	& SendMessage(sm, "3") 								& E\_OK							&  \\ \hline  
	t1	& GetMessageStatus(sm)								& E\_OK							& \\ \hline 
	t1	& SendMessage(sm, "4") 								& E\_OK							&  \\ \hline  
	t1	& GetMessageStatus(sm)								& E\_COM\_LIMIT					& \\ \hline 
	t1 	& ActivateTask(t2)									& E\_OK							& \\ \hline 
	t1	& \textit{Force scheduling}							&								& \\ \hline
	t2	& GetMessageStatus(rm)								& E\_COM\_LIMIT					& 34 \\ \hline 
	t2	& ReceiveMessage(rm, \& DataRef)						& E\_COM\_LIMIT, DataRef="1"		& 27 \\ \hline 
	COMErrorHook		& COMErrorGetServiceId(	)				& ReceiveMessageID				& 39 \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_DataRef()	& "1"								& 41 \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_Message()	& rm\_id							& 40 \\ \hline
	t2	& GetMessageStatus(rm)								& E\_OK							& 32 \\ \hline 
	t2	& ReceiveMessage(rm, \& DataRef)						& E\_OK, DataRef="2"				& 28 \\ \hline 
	t2	& GetMessageStatus(rm)								& E\_OK							& \\ \hline 
	t2	& ReceiveMessage(rm, \& DataRef)						& E\_OK, DataRef="3"				& 30 \\ \hline 
	t2	& GetMessageStatus(rm)								& E\_COM\_NOMSG					& \\ \hline 
	t2	& ReceiveMessage(rm, \& DataRef)						& E\_COM\_NOMSG					& 29 \\ \hline 
	COMErrorHook		& COMErrorGetServiceId()				& ReceiveMessageID				& \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_DataRef()	& "3"								& \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_Message()	& rm\_id							& \\ \hline
	t2	& GetMessageStatus(rm)								& E\_COM\_NOMSG					& \\ \hline 
	t2	& ReceiveMessage(INVALID\_MESSAGE, \& DataRef)		& E\_COM\_ID						& 26 \\ \hline 
	COMErrorHook		& COMErrorGetServiceId()				& ReceiveMessageID				& \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_DataRef()	& "3"								& \\ \hline
	COMErrorHook		& COMError\_ReceiveMessage\_Message()	& INVALID\_MESSAGE				& \\ \hline
	t2	& GetMessageStatus(INVALID\_MESSAGE)				& E\_COM\_ID						& 33 \\ \hline 	
	COMErrorHook		& COMErrorGetServiceId()				& GetMessageStatusID				& 42 \\ \hline
	COMErrorHook		& COMError\_GetMessageStatus\_Message()	& INVALID\_MESSAGE				& 43 \\ \hline	
	t2 	& TerminateTask() 									& 								& \\ \hline 
	t1	& TerminateTask()									&								&\\ \hline 
	\end{supertabular}\\
	
	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}\\
	\textcolor{red}{This test sequence should return E\_OS\_CALLEVEL (instead of E\_OK) because service calls in callback routines are forbidden!!}
	\begin{lstlisting}
	TEST CASES:		       1, 7, 23, 24, 25
	RETURN COM STATUS:	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:			         ...
	MESSAGE TYPE:	       Unqueued
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/com_internal_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& ActivateTask(t3)									& E\_OK				& \\ \hline
	t3	& WaitEvent(Event1)									& E\_OK				& \\ \hline
	t1	& SendMessage(sm\_activatetask, "1")					& E\_OK				& 1 \\ \hline
	t2	& ReceiveMessage(rm\_activatetask, \& DataRef)			& E\_OK, DataRef="1"	& 7 \\ \hline
	t2 	& TerminateTask() 									&					& \\ \hline 
	t1	& SendMessage(sm\_setevent, "2")						& E\_OK				& 1 \\ \hline
	t3	& ReceiveMessage(rm\_setevent, \& DataRef)				& E\_OK, DataRef="2"	& 23 \\ \hline
	t3 	& TerminateTask() 									&					& \\ \hline 
	t1	& SendMessage(sm\_comcallback, "3")					& E\_OK				& 1 \\ \hline
	COMCallBack	& ReceiveMessage(rm\_comcallback, \& DataRef)	& E\_OS\_CALLEVEL	& 24 \\ \hline
	t1	& TerminateTask()									&					&\\ \hline 
	\end{supertabular}\\
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}\\
	\textcolor{red}{This test sequence should return E\_OS\_CALLEVEL (instead of E\_OK) because service calls in callback routines are forbidden!!}
	\begin{lstlisting}
	TEST CASES:		       1, 7, 23, 24, 25
	RETURN COM STATUS:	 EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	HOOKS:			         ...
	MESSAGE TYPE:	       Unqueued
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/com_internal_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& ActivateTask(t3)									& E\_OK				& \\ \hline
	t1	& SendMessage(sm\_activatetask, "1")					& E\_OK				& 1 \\ \hline
	t1	& SendMessage(sm\_setevent, "2")						& E\_OK				& 1 \\ \hline
	t1	& SendMessage(sm\_comcallback, "3")					& E\_OK				& 1 \\ \hline
	COMCallBack	& ReceiveMessage(rm\_comcallback, \& DataRef)	& E\_OS\_CALLEVEL	& 24 \\ \hline
	t1	& TerminateTask()									&					&\\ \hline 
	t3	& WaitEvent(Event1)									& E\_OK				& \\ \hline
	t3	& ReceiveMessage(rm\_setevent, \& DataRef)				& E\_OK, DataRef="2"	& 23 \\ \hline
	t3 	& TerminateTask() 									&					& \\ \hline 
	t2	& ReceiveMessage(rm\_activatetask, \& DataRef)			& E\_OK, DataRef="1"	& 7 \\ \hline
	t2 	& TerminateTask() 									&					& \\ \hline 
	\end{supertabular}\\

	

\settowidth{\Li}{Running}
\setlength{\Lii}{8cm}	
\setlength{\Liii}{\textwidth} \addtolength{\Liii}{-\Li} \addtolength{\Liii}{-\Lii} \addtolength{\Liii}{-\Liiii}
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		       8, 18, 19, 20, 21, 22
	RETURN COM STATUS:	 EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			         ...
	MESSAGE TYPE:	       Unqueued
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/com_internal_s5.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SendMessage(sm, 1)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=1		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	
	t5	& ReceiveMessage(rm\_newislessorequal, \& DataRef)				& E\_OK, DataRef=1		& 19 \\ \hline
	t5	& TerminateTask()											& 					&\\ \hline
	t6	& ReceiveMessage(rm\_newisless, \& DataRef)					& E\_OK, DataRef=1		& 20 \\ \hline
	t6	& TerminateTask()											& 					&\\ \hline
	
	t1	& SendMessage(sm, 2)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=2		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	
	t7	& ReceiveMessage(rm\_newisgreaterorequal, \& DataRef)			& E\_OK, DataRef=2		& 21 \\ \hline
	t7	& TerminateTask()											& 					&\\ \hline	
	
	t1	& SendMessage(sm, 3)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=3		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	
	t4	& ReceiveMessage(rm\_newisgreater, \& DataRef)					& E\_OK, DataRef=3		& 18 \\ \hline
	t4	& TerminateTask()											& 					&\\ \hline
	t7	& ReceiveMessage(rm\_newisgreaterorequal, \& DataRef)			& E\_OK, DataRef=3		& 21 \\ \hline
	t7	& TerminateTask()											& 					&\\ \hline	
			
	t1	& SendMessage(sm, 2)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=2		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	

	t1	& SendMessage(sm, 1)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=1		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	
	t5	& ReceiveMessage(rm\_newislessorequal, \& DataRef)				& E\_OK, DataRef=1		& 19 \\ \hline
	t5	& TerminateTask()											& 					&\\ \hline
	t8	& ReceiveMessage(rm\_oneeveryn, \& DataRef)					& E\_OK, DataRef=1		& 22 \\ \hline
	t8	& TerminateTask()											& 					&\\ \hline

	t1	& SendMessage(sm, 0)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=0		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	
	t5	& ReceiveMessage(rm\_newislessorequal, \& DataRef)				& E\_OK, DataRef=0		& 19 \\ \hline
	t5	& TerminateTask()											& 					&\\ \hline
	t6	& ReceiveMessage(rm\_newisless, \& DataRef)					& E\_OK, DataRef=0		& 20 \\ \hline
	t6	& TerminateTask()											& 					&\\ \hline

	t1	& SendMessage(sm, 1)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=1		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	
	t8	& ReceiveMessage(rm\_oneeveryn, \& DataRef)					& E\_OK, DataRef=1		& 22 \\ \hline
	t8	& TerminateTask()											& 					&\\ \hline

	t1	& SendMessage(sm, 2)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=2		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	

	t1	& SendMessage(sm, 5)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_always, \& DataRef)						& E\_OK, DataRef=5		& 8 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline	
	t4	& ReceiveMessage(rm\_newisgreater, \& DataRef)					& E\_OK, DataRef=5		&18 \\ \hline
	t4	& TerminateTask()											& 					&\\ \hline
	t7	& ReceiveMessage(rm\_newisgreaterorequal, \& DataRef)			& E\_OK, DataRef=5		& 21 \\ \hline
	t7	& TerminateTask()											& 					&\\ \hline	
	t8	& ReceiveMessage(rm\_oneeveryn, \& DataRef)					& E\_OK, DataRef=5		& 22 \\ \hline
	t8	& TerminateTask()											& 					&\\ \hline
	t1	& TerminateTask()											& 					&\\ \hline
	
	\end{supertabular}\\
	
	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		       10, 11, 12, 13, 14, 15, 16, 17
	RETURN COM STATUS:	 EXTENDED
	SCHEDULING POLICY:   NON-, MIXED-, FULL-PREEMPTIVE
	HOOKS:			         ...
	MESSAGE TYPE:	       Unqueued
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/com_internal_s6.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SendMessage(sm, 3)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t3	& ReceiveMessage(rm\_maskednewdiffersx, \& DataRef)				& E\_OK, DataRef=3		& 11\\ \hline
	t3	& TerminateTask()											& 					&\\ \hline	
	t5	& ReceiveMessage(rm\_newisdifferent, \& DataRef)					& E\_OK, DataRef=3		& 13 \\ \hline
	t5	& TerminateTask()											& 					&\\ \hline
	t6	& ReceiveMessage(rm\_maskednewequalsmaskedold, \& DataRef)	& E\_OK, DataRef=3		& 14 \\ \hline
	t6	& TerminateTask()											& 					&\\ \hline
	t9	& ReceiveMessage(rm\_newisoutside, \& DataRef)					& E\_OK, DataRef=3		& 17 \\ \hline
	t9	& TerminateTask()											& 					&\\ \hline
	
	t1	& SendMessage(sm, 12)										& E\_OK				&\\ \hline
	t1	& \textit{Force scheduling}									& 					&\\ \hline
	t2	& ReceiveMessage(rm\_maskednewequalsx, \& DataRef)			& E\_OK, DataRef=12	& 10 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline
	t5	& ReceiveMessage(rm\_newisdifferent, \& DataRef)					& E\_OK, DataRef=12	& 13 \\ \hline
	t5	& TerminateTask()											& 					&\\ \hline
	t7	& ReceiveMessage(rm\_maskednewdiffersmaskedold, \& DataRef)		& E\_OK, DataRef=12	& 15  \\ \hline
	t7	& TerminateTask()											& 					&\\ \hline	
	t9	& ReceiveMessage(rm\_newisoutside, \& DataRef)					& E\_OK, DataRef=12	& 17 \\ \hline
	t9	& TerminateTask()											& 					&\\ \hline
	
	t1	& SendMessage(sm, 7)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_maskednewequalsx, \& DataRef)			& E\_OK, DataRef=7		& 10 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline
	t5	& ReceiveMessage(rm\_newisdifferent, \& DataRef)					& E\_OK, DataRef=7		& 13 \\ \hline
	t5	& TerminateTask()											& 					&\\ \hline
	t8	& ReceiveMessage(rm\_newiswithin, \& DataRef)					& E\_OK, DataRef=7		& 16 \\ \hline
	t8	& TerminateTask()											& 					&\\ \hline
	
	t1	& SendMessage(sm, 7)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t2	& ReceiveMessage(rm\_maskednewequalsx, \& DataRef)			& E\_OK, DataRef=7		& 10 \\ \hline
	t2	& TerminateTask()											& 					&\\ \hline
	t8	& ReceiveMessage(rm\_newiswithin, \& DataRef)					& E\_OK, DataRef=7		& 16 \\ \hline
	t8	& TerminateTask()											& 					&\\ \hline	

	t1	& SendMessage(sm, 2)										& E\_OK				& \\ \hline
	t1	& \textit{Force scheduling}									& 					& \\ \hline
	t3	& ReceiveMessage(rm\_maskednewdiffersx, \& DataRef)				& E\_OK, DataRef=2		& 11 \\ \hline
	t3	& TerminateTask()											& 					&\\ \hline	
	t4	& ReceiveMessage(rm\_newisequal, \& DataRef)					& E\_OK, DataRef=2		& 12 \\ \hline
	t4	& TerminateTask()											& 					&\\ \hline
	t5	& ReceiveMessage(rm\_newisdifferent, \& DataRef)					& E\_OK, DataRef=2		& 13 \\ \hline
	t5	& TerminateTask()											& 					&\\ \hline
	t6	& ReceiveMessage(rm\_maskednewequalsmaskedold, \& DataRef)	& E\_OK, DataRef=2		& 14 \\ \hline
	t6	& TerminateTask()											& 					&\\ \hline
	t7	& ReceiveMessage(rm\_maskednewdiffersmaskedold, \& DataRef)		& E\_OK, DataRef=2		& 15 \\ \hline
	t7	& TerminateTask()											& 					&\\ \hline	
	t9	& ReceiveMessage(rm\_newisoutside, \& DataRef)					& E\_OK, DataRef=2		& 17 \\ \hline
	t9	& TerminateTask()											& 					&\\ \hline
	t1	& TerminateTask()											& 					&\\ \hline
	\end{supertabular}\\


\subsection{AUTOSAR - Core OS}

	Test cases 3, 5 and 7 are GOIL tests.\\

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       1, 2, 4, 6
	RETURN STATUS:	  	EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:			         ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_coreos_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=0			& \\ \hline
	t1	& SetRelAlarm(Alarm\_ActivateTask, 2, 0)						& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& 2 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_ActivateTask	& \\ \hline
	t1	& SetRelAlarm(Alarm\_SetEvent\_suspendedtask, 2, 0)				& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& 4 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_SetEvent		& \\ \hline
	t1	& GetCounterValue(Software\_Counter\_By\_Alarm, \&Tick)			& E\_OK, Tick=0			& \\ \hline
	t1	& SetRelAlarm(Alarm\_IncrementCounter, 2, 0)					& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& 6 \\ \hline
	t1	& GetCounterValue(Software\_Counter\_By\_Alarm, \&Tick)			& E\_OK, Tick=1			& \\ \hline
	t1	& SetRelAlarm(Alarm\_ActivateTask, 0, 0)						& E\_OS\_VALUE			& 1 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_SetRelAlarm	& \\ \hline
	ErrorHook		& OSError\_SetRelAlarm\_AlarmID()						& Alarm\_ActivateTask		& \\ \hline
	ErrorHook		& OSError\_SetRelAlarm\_increment()					& 0						& \\ \hline
	ErrorHook		& OSError\_SetRelAlarm\_cycle()						& 0						& \\ \hline
	
	t1	& TerminateTask()											& 						& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       8, 9, 10
	RETURN STATUS:	  	EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:			         ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_coreos_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{trigger interrupt isr1}									& 						& \\ \hline
	isr1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=0			& \\ \hline
	isr1	& SetRelAlarm(Alarm\_ActivateTask, 2, 0)						& E\_OK					& \\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK					& 9 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_ActivateTask	& \\ \hline
	isr1	& SetRelAlarm(Alarm\_SetEvent\_suspendedtask, 2, 0)				& E\_OK					& \\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK					& 10 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_SetEvent		& \\ \hline
	isr1	& GetCounterValue(Software\_Counter\_By\_Alarm, \&Tick)			& E\_OK, Tick=0			& \\ \hline
	isr1	& SetRelAlarm(Alarm\_ActivateTask, 0, 0)						& E\_OS\_VALUE			& 8 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_SetRelAlarm	& \\ \hline
	ErrorHook		& OSError\_SetRelAlarm\_AlarmID()						& Alarm\_ActivateTask		& \\ \hline
	ErrorHook		& OSError\_SetRelAlarm\_increment()					& 0						& \\ \hline
	ErrorHook		& OSError\_SetRelAlarm\_cycle()						& 0						& \\ \hline
	t1	& TerminateTask()											& 						& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       11, 12
	RETURN STATUS:	  	EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_coreos_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& \textit{trigger interrupt isr1}									& 						& \\ \hline
	isr1		& GetISRID()												& isr1					& 12 \\ \hline
	isr1		& ActivateTask(t1)											& E\_OS\_LIMIT			& \\ \hline
	ErrorHook	& OSErrorGetServiceId()										& OSServiceId\_ActivateTask	& \\ \hline
	ErrorHook	& GetISRID()												& isr1					& 12 \\ \hline
	t1		& GetISRID()												& INVALID\_ISR			& 11 \\ \hline
	t1		& ActivateTask(t1)											& E\_OS\_LIMIT			& \\ \hline
	ErrorHook	& OSErrorGetServiceId()										& OSServiceId\_ActivateTask	& \\ \hline
	ErrorHook	& GetISRID()												& INVALID\_ISR			& 11 \\ \hline
	t1		& TerminateTask()											& 						& \\ \hline
	\end{supertabular}\\
	
\subsection{AUTOSAR - Software Counter}

\settowidth{\Li}{Error-Hook}
\setlength{\Liii}{\textwidth} \addtolength{\Liii}{-\Li} \addtolength{\Liii}{-\Lii} \addtolength{\Liii}{-\Liiii}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       1, 2, 9, 15
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:			         ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sc_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=0			& 9 \\ \hline
	t1	& SetRelAlarm(Alarm1, 2, 0)									& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& 1\\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=1			& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& 2 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_ActivateTask	& \\ \hline
	ErrorHook		& OSError\_ActivateTask\_TaskID()						& t1						& \\ \hline
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=2			& \\ \hline
	t1	& GetElapsedCounterValue(Software\_Counter, \&Tick\_value = 0, \&Tick\_elasped\_value)	& E\_OK, Tick\_value=2, Tick\_elapsed\_value=2	& 15 \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=3			& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=0			& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=1			& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	t1	& IncrementCounter(Software\_Counter)							& E\_OK					& \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_ActivateTask	& \\ \hline
	ErrorHook		& OSError\_ActivateTask\_TaskID()						& t1						& \\ \hline
	t1	& CancelAlarm(Alarm1)										& E\_OK					& \\ \hline
	t1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=2			& \\ \hline
	t1	& TerminateTask()											& 						& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       10, 17
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sc_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetCounterValue(Hardware\_Counter, \&Tick1)					& E\_OK											& 10 \\ \hline
	t1	& \textit{Wait 3 Counter tick }									& 												& \\ \hline
	t1	& GetCounterValue(Hardware\_Counter, \&Tick2)					& E\_OK, Tick2=Tick1+3								& \\ \hline
	t1	& SetRelAlarm(Alarm1, 2, 0)									& E\_OK											& \\ \hline
	t1	& \textit{Wait alarm expires}									&												& \\ \hline
	t1	& GetElapsedCounterValue(Hardware\_Counter, \&Tick2, \&Tick\_elasped\_value)	& E\_OK, Tick2=Tick1+3+2, Tick\_elapsed\_value=2		& 17 \\ \hline
	t1	& GetEvent(t1, \&EventMask)									& E\_OK, EventMask=Event1							& \\ \hline 
	t1	& TerminateTask()																		& 					& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       3, 4, 11, 16, 18, 19
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sc_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& IncrementCounter(Hardware\_Counter)													& E\_OS\_ID							& 3 \\ \hline
	ErrorHook	& OSErrorGetServiceId()																	& OSServiceId\_ IncrementCounter			& \\ \hline
	ErrorHook	& OSServiceId\_ IncrementCounter\_ CounterID()												& Hardware\_Counter					& \\ \hline
	
	t1		& IncrementCounter(INVALID\_COUNTER)													& E\_OS\_ID							& 4 \\ \hline
	ErrorHook	& OSErrorGetServiceId()																	& OSServiceId\_ IncrementCounter			& \\ \hline
	ErrorHook	& OSServiceId\_ IncrementCounter\_ CounterID()												& INVALID\_COUNTER					& \\ \hline
	
	t1		& GetCounterValue(INVALID\_COUNTER, \&Tick)												& E\_OS\_ID							& 11 \\ \hline
	ErrorHook	& OSErrorGetServiceId()																	& OSServiceId\_ GetCounterValue			& \\ \hline
	ErrorHook	& OSServiceId\_ GetCounterValue\_ value()													& OSMAXALLOWEDVALUE + 1			& \\ \hline	
	ErrorHook	& OSServiceId\_ GetCounterValue\_ CounterID()												& INVALID\_COUNTER					& \\ \hline
	
	t1		& GetElapsedCounterValue(Software\_Counter, OSMAXALLOWEDVALUE + 1, \&Tick\_elasped\_value)	& E\_OS\_VALUE						& 16 \\ \hline
	ErrorHook	& OSErrorGetServiceId()																	& OSServiceId\_ GetElapsedCounterValue	& \\ \hline
	ErrorHook	& OSServiceId\_ GetElapsedCounterValue\_ CounterID()										& Software\_Counter					& \\ \hline
	ErrorHook	& OSServiceId\_ GetElapsedCounterValue\_ value()											& OSMAXALLOWEDVALUE + 1			& \\ \hline
	ErrorHook	& OSServiceId\_ GetElapsedCounterValue\_ previous\_value()									& OSMAXALLOWEDVALUE + 1			& \\ \hline
	
	t1		& GetElapsedCounterValue(Hardware\_Counter, OSMAXALLOWEDVALUE + 1, \&Tick\_elasped\_value)	& E\_OS\_VALUE						& 18 \\ \hline
	ErrorHook	& OSErrorGetServiceId()																	& OSServiceId\_ GetElapsedCounterValue	& \\ \hline
	ErrorHook	& OSServiceId\_ GetElapsedCounterValue\_ CounterID()										& Hardware\_Counter					& \\ \hline
	ErrorHook	& OSServiceId\_ GetElapsedCounterValue\_ previous\_value()									& OSMAXALLOWEDVALUE + 1			& \\ \hline
	
	t1		& GetElapsedCounterValue(INVALID\_COUNTER, \&Tick\_value, \&Tick\_elasped\_value)				& E\_OS\_ID							& 19 \\ \hline
	ErrorHook	& OSErrorGetServiceId()																	& OSServiceId\_ GetElapsedCounterValue	& \\ \hline
	ErrorHook	& OSServiceId\_ GetElapsedCounterValue\_ CounterID()										& INVALID\_COUNTER					& \\ \hline
	
	t1		& TerminateTask()																		& 									& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       5, 6, 12, 20
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:			         ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sc_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{trigger interrupt isr1}									& 														& \\ \hline
	isr1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=0											& 12 \\ \hline
	isr1	& SetRelAlarm(Alarm1, 2, 0)									& E\_OK													& \\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK													& 5\\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK													& \\ \hline
	isr1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=1											& \\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK													& \\ \hline
	isr1	& IncrementCounter(Software\_Counter)							& E\_OK													& 6 \\ \hline
	ErrorHook		& OSErrorGetServiceId()								& OSServiceId\_ActivateTask									& \\ \hline
	ErrorHook		& OSError\_ActivateTask\_TaskID()						& t1														& \\ \hline
	isr1	& GetCounterValue(Software\_Counter, \&Tick)					& E\_OK, Tick=2											& \\ \hline
	isr1	& GetElapsedCounterValue(Software\_Counter, \&Tick\_value = 0, \&Tick\_elasped\_value)	& E\_OK, Tick\_value=2, Tick\_elapsed\_value=2	& 20 \\ \hline
	t1	& TerminateTask()											& 														& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		       7, 8, 13, 14, 21, 22, 23, 24
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sc_s5.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{trigger interrupt isr1}																& 												& \\ \hline
	isr1	& GetCounterValue(Hardware\_Counter, \&Tick1)												& E\_OK											& 13 \\ \hline
	isr1	& \textit{Wait 3 Counter tick }																& 												& \\ \hline
	isr1	& GetCounterValue(Hardware\_Counter, \&Tick2)												& E\_OK, Tick2=Tick1+3								& \\ \hline
	isr1	& SetRelAlarm(Alarm1, 2, 0)																& E\_OK											& \\ \hline
	isr1	& \textit{Wait alarm expires}																&												& \\ \hline
	isr1	& GetElapsedCounterValue(Hardware\_Counter, \&Tick2, \&Tick\_elasped\_value)						& E\_OK, Tick2=Tick1+3+2, Tick\_elapsed\_value=2		& 22 \\ \hline
	isr1	& GetEvent(t1, \&EventMask)																& E\_OK, EventMask=Event1							& \\ \hline
	isr1	& IncrementCounter(Hardware\_Counter)													& E\_OS\_ID										& 7 \\ \hline
	isr1	& IncrementCounter(INVALID\_COUNTER)													& E\_OS\_ID										& 8 \\ \hline
	isr1	& GetCounterValue(INVALID\_COUNTER, \&Tick)												& E\_OS\_ID										& 14 \\ \hline
	isr1	& GetElapsedCounterValue(Software\_Counter, OSMAXALLOWEDVALUE + 1, \&Tick\_elasped\_value)	& E\_OS\_VALUE									& 21 \\ \hline
	isr1	& GetElapsedCounterValue(Hardware\_Counter, OSMAXALLOWEDVALUE + 1, \&Tick\_elasped\_value)	& E\_OS\_VALUE									& 23 \\ \hline
	isr1	& GetElapsedCounterValue(INVALID\_COUNTER, \&Tick\_value, \&Tick\_elasped\_value)				& E\_OS\_ID										& 24 \\ \hline	 
	t1	& TerminateTask()																		& 												& \\ \hline
	\end{supertabular}\\
	
\subsection{AUTOSAR - Schedule Table}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 20, 23, 24
	RETURN STATUS:	  	EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_st_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& 20, 23 \\ \hline
	t1	& StartScheduleTableRel( INVALID\_SCHEDULETABLE , 1)					& E\_OS\_ID											& 2 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StartScheduleTableRel						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()				& INVALID\_SCHEDULETABLE							& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()						& 1													& \\ \hline
	
	t1	& StartScheduleTableRel(sched1, 0)									& E\_OS\_VALUE										& 3 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StartScheduleTableRel						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()				& sched1												& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()						& 0													& \\ \hline
	
	t1	& StartScheduleTableRel(sched1, OSMAXALLOWEDVALUE - InitOffset)			& E\_OS\_VALUE										& 4 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StartScheduleTableRel						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()				& sched1												& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()						& OSMAXALLOWEDVALUE - InitOffset						& \\ \hline
	
	t1	& StartScheduleTableRel(sched1, 1)									& E\_OK												& 1 \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& 24 \\ \hline
	t1	& StartScheduleTableRel(sched1, 1)									& E\_OS\_STATE										& 5 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StartScheduleTableRel						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()				& sched1												& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()						& 1													& \\ \hline
	
	t1	& StopScheduleTable( INVALID\_SCHEDULETABLE)						& E\_OS\_ID											& 11 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StopScheduleTable						& \\ \hline
	ErrorHook	& OSServiceId\_ StopScheduleTable\_ ScheduleTableID()				& INVALID\_SCHEDULETABLE							& \\ \hline
	
	t1	& StopScheduleTable(sched1)											& E\_OK												& 10 \\ \hline
	t1	& GetScheduleTableStatus(sched1 , \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1	& StopScheduleTable(sched1)											& E\_OS\_NOFUNC										& 12 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StopScheduleTable						& \\ \hline
	ErrorHook	& OSServiceId\_ StopScheduleTable\_ ScheduleTableID()				& sched1												& \\ \hline
	
	t1	& StartScheduleTableAbs( INVALID\_SCHEDULETABLE , 1)					& E\_OS\_ID											& 7 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StartScheduleTableAbs						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ ScheduleTableID()				& INVALID\_SCHEDULETABLE							& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ value()						& 1													& \\ \hline
	
	t1	& StartScheduleTableAbs(sched1, OSMAXALLOWEDVALUE)					& E\_OS\_VALUE										& 8 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StartScheduleTableAbs						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ ScheduleTableID()				& sched1												& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ value()						& OSMAXALLOWEDVALUE								& \\ \hline
	
	t1	& StartScheduleTableAbs(sched1, 1)									& E\_OK												& 6 \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1	& StartScheduleTableAbs(sched1, 1)									& E\_OS\_STATE										& 9 \\ \hline
	ErrorHook	& OSErrorGetServiceId()											& OSServiceId\_ StartScheduleTableAbs						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ ScheduleTableID()				& sched1												& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ value()						& 1													& \\ \hline
	
	t1	& StopScheduleTable(sched1)											& E\_OK												& \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	\end{supertabular}\\

	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       5, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
	RETURN STATUS:	  	EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_st_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& StartScheduleTableRel(sched1, 1)									& E\_OK												& \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& 24 \\ \hline
	t1	& NextScheduleTable(INVALID\_SCHEDULETABLE , sched2)				& E\_OS\_ID											& 14 \\ \hline
	
	t1	& NextScheduleTable(sched1 , INVALID\_SCHEDULETABLE)				& E\_OS\_ID											& 15 \\ \hline
	t1	& NextScheduleTable(sched1 , sched4)									& E\_OS\_ID											& 16 \\ \hline
	t1	& NextScheduleTable(sched2 , sched2)									& E\_OS\_NOFUNC										& 18\\ \hline
	t1	& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& 23 \\ \hline
	t1	& NextScheduleTable(sched1 , sched2)									& E\_OK												& 13 \\ \hline
	t1	& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_NEXT			& 20, 22 \\ \hline
	t1	& NextScheduleTable(sched2 , sched3)									& E\_OS\_NOFUNC										& 17 \\ \hline
	t1	& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_NEXT			& \\ \hline
	t1	& GetScheduleTableStatus(sched3, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1	& NextScheduleTable(sched1 , sched2)									& E\_OS\_STATE										& 19 \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1	& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_NEXT			& \\ \hline
	t1	& NextScheduleTable(sched1 , sched1)									& E\_OS\_STATE										& 19 \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1	& NextScheduleTable(sched1 , sched3)									& E\_OK												& 13 \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1	& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1	& GetScheduleTableStatus(sched3, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_NEXT			& \\ \hline
	t1	& StartScheduleTableRel(sched3, 1)									& E\_OS\_STATE										& 5 \\ \hline
	t1	& StartScheduleTableAbs(sched3, 1)									& E\_OS\_STATE										& 9 \\ \hline
	t1	& StopScheduleTable(sched1)											& E\_OK												& 10 \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1	& GetScheduleTableStatus(sched3, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1	& GetScheduleTableStatus(INVALID\_SCHEDULETABLE, \&STStatusType)		& E\_OS\_ID											& 21 \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       25, 26, 27, 28, 29, 30, 32
	RETURN STATUS:	  	STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_st_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& ActivateTask(t3)														& E\_OK												& \\ \hline
	
	t3	& WaitEvent(Event1)														& E\_OK												& \\ \hline
	
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1	& StartScheduleTableRel(sched1, 1)										& E\_OK												& \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1	& IncrementCounter(Software\_Counter)										& E\_OK												& 26, 30, 32 \\ \hline
	
	t5	& TerminateTask()														& 													& \\ \hline
	
	t3	& ClearEvent(Event1)													& E\_OK												& \\ \hline
	t3	& WaitEvent(Event1)														& E\_OK												& \\ \hline
		
	t1	& IncrementCounter(Software\_Counter)										& E\_OK												& 27 \\ \hline

	t4	& TerminateTask()														& 													& \\ \hline
	
	t3	& ClearEvent(Event1)													& E\_OK												& \\ \hline
	t3	& WaitEvent(Event1)														& E\_OK												& \\ \hline

	t1	& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1	& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1	& IncrementCounter(Software\_Counter)										& E\_OK												& 25 \\ \hline
	t1	& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline

	t1	& StartScheduleTableRel(sched2, 1)										& E\_OK												& \\ \hline
	t1	& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1	& IncrementCounter(Software\_Counter)										& E\_OK												& 28, 29 \\ \hline

	t3	& TerminateTask()														& 													& \\ \hline

	t2	& WaitEvent(Event1)														& E\_OK												& \\ \hline
	t2	& TerminateTask()														& 													& \\ \hline

	t1	& GetScheduleTableStatus(sched2, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1	& TerminateTask()														& 													& \\ \hline
	\end{supertabular}\\
		
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       31, 34
	RETURN STATUS:	  	STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:			         ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_st_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableRel(sched1, 1)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 31\\ \hline
	Errorhook	& OSErrorGetServiceId()													& OSServiceId\_ActivateTask								& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 34\\ \hline
	Errorhook	& OSErrorGetServiceId()													& OSServiceId\_SetEvent									& \\ \hline
	t1		& GetScheduleTableStatus(sched, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1		& TerminateTask()														& 													& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		       5, 9, 12, 17, 18, 35, 36
	RETURN STATUS:	  	STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:			         ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_st_s5.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableRel(sched1, 1)										& E\_OK												& \\ \hline
	t1		& NextScheduleTable(sched1 , sched2)										& E\_OK												& \\ \hline
	t1		& StartScheduleTableRel(sched2, 1)										& E\_OS\_STATE										& 5 \\ \hline
	ErrorHook	& OSErrorGetServiceId()													& OSServiceId\_ StartScheduleTableRel						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()						& sched\_2											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()								& 1													& \\ \hline
	
	t1		& StartScheduleTableAbs(sched2, 1)										& E\_OS\_STATE										& 9 \\ \hline
	ErrorHook	& OSErrorGetServiceId()													& OSServiceId\_ StartScheduleTableAbs						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ ScheduleTableID()						& sched\_2											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ value()								& 1													& \\ \hline
	
	t1		& StartScheduleTableRel(sched1, 1)										& E\_OS\_STATE										& 5 \\ \hline
	ErrorHook	& OSErrorGetServiceId()													& OSServiceId\_ StartScheduleTableRel						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()						& sched\_1											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()								& 1													& \\ \hline
	
	t1		& StartScheduleTableAbs(sched1, 1)										& E\_OS\_STATE										& 9 \\ \hline
	ErrorHook	& OSErrorGetServiceId()													& OSServiceId\_ StartScheduleTableAbs						& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ ScheduleTableID()						& sched\_1											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ value()								& 1													& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	
	t2		& WaitEvent(Event1)														& E\_OK												& \\ \hline

	t1		& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1		& StopScheduleTable(sched1)												& E\_OK												&  \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline

	t1		& StartScheduleTableRel(sched1, 1)										& E\_OK												& 36 \\ \hline
	t1		& NextScheduleTable(sched1 , sched2)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	Errorhook	& OSErrorGetServiceId()													& OSServiceId\_ActivateTask								& \\ \hline
	t1		& NextScheduleTable(sched2 , sched3)										& E\_OS\_NOFUNC										& 17 \\ \hline
	ErrorHook	& OSErrorGetServiceId()													& OSServiceId\_ NextScheduleTable						& \\ \hline
	ErrorHook	& OSServiceId\_ NextScheduleTable\_ ScheduleTableID()						& sched\_2											& \\ \hline
	ErrorHook	& OSServiceId\_ NextScheduleTable\_ ScheduleTableID()						& sched\_3											& \\ \hline
	
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 35 \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	
	%Add sched3 as next of sched2 before finishing. Wait for one period of sched3 to be sure it's ok
	t1		& NextScheduleTable(sched2 , sched3)										& E\_OK												& \\ \hline
	
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 35 \\ \hline
	t2		& WaitEvent(Event2)														& E\_OK												& \\ \hline
	t2		& TerminateTask()														& 													& \\ \hline

	t1		& GetScheduleTableStatus(sched2, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1		& GetScheduleTableStatus(sched3, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline	
	t1		& StopScheduleTable(sched2)												& E\_OS\_NOFUNC										& 12 \\ \hline
	ErrorHook	& OSErrorGetServiceId()													& OSServiceId\_ StopScheduleTable						& \\ \hline
	ErrorHook	& OSServiceId\_ StopScheduleTable\_ ScheduleTableID()						& sched\_2											& \\ \hline
	t1		& NextScheduleTable(sched2 , sched2)										& E\_OS\_NOFUNC										& 18\\ \hline
	ErrorHook	& OSErrorGetServiceId()													& OSServiceId\_ NextScheduleTable						& \\ \hline
	ErrorHook	& OSServiceId\_ NextScheduleTable\_ ScheduleTableID()						& sched\_2											& \\ \hline
	ErrorHook	& OSServiceId\_ NextScheduleTable\_ ScheduleTableID()						& sched\_2											& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t3		& TerminateTask()														& 													& \\ \hline
	t1		& GetScheduleTableStatus(sched3, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& GetScheduleTableStatus(sched3, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline


	t1		& TerminateTask()														& 													& \\ \hline
	\end{supertabular}\\
	
	
	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		       71, 72, 73, 74, 75, 76, 77, 78, 79, 80
	RETURN STATUS:	  	STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_st_s6.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline

	t1		& StartScheduleTableAbs(sched\_abs\_more\_1, 5)								& E\_OK												& 77 \\ \hline
	t1		& StartScheduleTableAbs(sched\_abs\_more\_2, 5)								& E\_OK												& 76 \\ \hline
	t1		& StartScheduleTableAbs(sched\_abs\_more\_3, 6)								& E\_OK												& 75 \\ \hline
	t1		& StartScheduleTableAbs(sched\_abs\_less\_1, 1)								& E\_OK												& 72 \\ \hline
	t1		& StartScheduleTableAbs(sched\_abs\_less\_2, 1)								& E\_OK												& 73 \\ \hline
	t1		& StartScheduleTableAbs(sched\_abs\_less\_3, 1)								& E\_OK												& 74 \\ \hline
	t1		& StartScheduleTableRel(sched\_rel,2)										& E\_OK												& 71 \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 80 \\ \hline
	t2		& TerminateTask()														& 													& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 79 \\ \hline
	t9		& TerminateTask()														& 													& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 78 \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t5		& TerminateTask()														& 													& \\ \hline
	
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t3		& TerminateTask()														& 													& \\ \hline
	t6		& TerminateTask()														& 													& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t4		& TerminateTask()														& 													& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t7		& TerminateTask()														& 													& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t8		& TerminateTask()														& 													& \\ \hline
	
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& TerminateTask()														& 													& \\ \hline
	\end{supertabular}\\
	
	
	% TEST SEQUENCE 7 %
	\textbf{Test Sequence 7 :}
	\begin{lstlisting}
	TEST CASES:		       37, 38, 39, 40, 41
	RETURN STATUS:	  	STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOK:			ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_st_s7.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline

	t2		& WaitEvent(Event1)														& E\_OK												& \\ \hline

	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 37 \\ \hline
	Errorhook	& OSErrorGetServiceId()													& OSServiceId\_ActivateTask								& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& 38 \\ \hline
	t2		& TerminateTask()														& 													& \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	Errorhook	& OSErrorGetServiceId()													& OSServiceId\_SetEvent									& 38 \\ \hline
	t1		& IncrementCounter(Software\_Counter)										& E\_OK												& \\ \hline
	t2		& WaitEvent(Event1)														& E\_OK												& \\ \hline
	t2		& TerminateTask()														& 													& \\ \hline

	t1		& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING		& \\ \hline
	t1		& StopScheduleTable(sched1)												& E\_OK												& \\ \hline
	t1		& StopScheduleTable(sched2)												& E\_OK												& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)							& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED		& \\ \hline
	t1		& TerminateTask()														& 													& \\ \hline
	\end{supertabular}\\

\subsection{AUTOSAR - Schedule Table Synchronisation}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       17, 21, 25
	RETURN STATUS:	 	  STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableAbs(sched1, 1)									& E\_OK																	& 21 \\ \hline
	t1		& StartScheduleTableAbs(sched2, 1)									& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& 17 \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter2)								& E\_OK																	& \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SetEvent														& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)													& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter2)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter2)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter2)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_ActivateTask													& \\ \hline
	t1		& IncrementCounter(Software\_Counter2)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter2)								& E\_OK																	& \\ \hline
	t2		& TerminateTask()													& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter2)								& E\_OK																	& \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SetEvent														& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_\-AND\_SYNCHRONOUS		& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_\-AND\_SYNCHRONOUS		& \\ \hline
	t1		& StopScheduleTable(sched1)											& E\_OK																	& \\ \hline
	t1		& StopScheduleTable(sched2)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED							& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED							& \\ \hline
	t1		& TerminateTask()													& E\_OK																	& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       2, 3, 6, 7, 8, 9, 10, 13, 14, 18
	RETURN STATUS:	  	EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(INVALID\_ SCHEDULETABLE)				& E\_OS\_ID										& 2 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_ StartScheduleTableSynchron				& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableSynchron\_ ScheduleTableID()			& INVALID\_SCHEDULETABLE						& \\ \hline
	
	t1		& StartScheduleTableSynchron(sched\_implicit)							& E\_OS\_ID										& 3 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_ StartScheduleTableSynchron				& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableSynchron\_ ScheduleTableID()			& sched\_implicit									& \\ \hline
	
	t1		& StartScheduleTableSynchron(sched\_nosync)							& E\_OS\_ID										& 3 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_ StartScheduleTableSynchron				& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableSynchron\_ ScheduleTableID()			& sched\_nosync									& \\ \hline
	
	t1		& SyncScheduleTable(INVALID\_SCHEDULETABLE, 1)						& E\_OS\_ID										& 6 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SyncScheduleTable					& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ ScheduleTableID()					& INVALID\_SCHEDULETABLE						& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ value()								& 1												& \\ \hline

	t1		& SyncScheduleTable(sched\_implicit, 1)									& E\_OS\_ID										& 7 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SyncScheduleTable					& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ ScheduleTableID()					& sched\_implicit									& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ value()								& 1												& \\ \hline

	t1		& SyncScheduleTable(sched\_nosync, 1)									& E\_OS\_ID										& 7 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SyncScheduleTable					& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ ScheduleTableID()					& sched\_nosync									& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ value()								& 1												& \\ \hline

	t1		& SyncScheduleTable(sched\_explicit, 1)									& E\_OS\_STATE									& 9 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SyncScheduleTable					& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ ScheduleTableID()					& sched\_explicit									& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ value()								& 1												& \\ \hline

	t1		& StartScheduleTableSynchron(sched\_explicit)							& E\_OK											& \\ \hline
		
	t1		& NextScheduleTable(sched\_explicit, sched\_explicit\_next)					& E\_OK											& \\ \hline
	
	t1		& SyncScheduleTable(sched\_explicit\_next, 1)							& E\_OS\_STATE									& 10 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SyncScheduleTable					& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ ScheduleTableID()					& sched\_explicit\_next								& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ value()								& 1												& \\ \hline

	t1		& SyncScheduleTable(sched\_explicit, 11)								& E\_OS\_VALUE									& 8 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SyncScheduleTable					& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ ScheduleTableID()					& sched\_explicit									& \\ \hline
	ErrorHook	& OSServiceId\_SyncScheduleTable\_ value()								& 11												& \\ \hline

	t1		& SetScheduleTableAsync(INVALID\_ SCHEDULETABLE)					& E\_OS\_ID										& 14 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SetScheduleTableAsync					& \\ \hline
	ErrorHook	& OSServiceId\_SetScheduleTableAsync\_ ScheduleTableID()				& INVALID\_SCHEDULETABLE		 				& \\ \hline
	
	t1		& SetScheduleTableAsync(sched\_implicit)								& E\_OS\_ID										& 13 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SetScheduleTableAsync					& \\ \hline
	ErrorHook	& OSServiceId\_SetScheduleTableAsync\_ ScheduleTableID()				& sched\_implicit					 				& \\ \hline

	t1		& SetScheduleTableAsync(sched\_nosync)								& E\_OS\_ID										& 13 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SetScheduleTableAsync					& \\ \hline
	ErrorHook	& OSServiceId\_SetScheduleTableAsync\_ ScheduleTableID()				& sched\_nosync					 				& \\ \hline
	
	t1		& StartScheduleTableRel(sched\_implicit, 1)								& E\_OS\_ID										& 18 \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_ StartScheduleTableRel					& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()					& sched\_implicit									& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()							& 1												& \\ \hline

	t1		& TerminateTask()													& E\_OK											& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       1, 4, 5, 15, 17, 20, 23, 26
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s3.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& 1 \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& 15 \\ \hline
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OS\_STATE															& 4 \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& StartScheduleTableRel(sched\_explicit)						& E\_OS\_STATE															& 20 \\ \hline
	ErrorHook	& OSErrorGetServiceId()										& OSServiceId\_ StartScheduleTableRel											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()			& sched\_explicit															& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()					& 1																		& \\ \hline
	t1		& StartScheduleTableAbs(sched\_explicit)						& E\_OS\_STATE															& 23 \\ \hline
	ErrorHook	& OSErrorGetServiceId()										& OSServiceId\_ StartScheduleTableAbs											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ ScheduleTableID()			& sched\_explicit															& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ value()					& 1																		& \\ \hline
	
	t1		& SyncScheduleTable(sched\_explicit, 3)							& E\_OK																	& 5 \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& 17 \\ \hline
	t1		& StartScheduleTableRel(sched\_explicit)						& E\_OS\_STATE															& \\ \hline
	ErrorHook	& OSErrorGetServiceId()										& OSServiceId\_ StartScheduleTableRel											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ ScheduleTableID()			& sched\_explicit															& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableRel\_ offset()					& 1																		& \\ \hline
	t1		& StartScheduleTableAbs(sched\_explicit)						& E\_OS\_STATE															& \\ \hline
	ErrorHook	& OSErrorGetServiceId()										& OSServiceId\_ StartScheduleTableAbs											& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ ScheduleTableID()			& sched\_explicit															& \\ \hline
	ErrorHook	& OSServiceId\_StartScheduleTableAbs\_ value()					& 1																		& \\ \hline
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OS\_STATE															& 4 \\ \hline
	ErrorHook	& OSErrorGetServiceId()										& OSServiceId\_ StartScheduleTableSynchron										& \\ \hline
	ErrorHook	& OSServiceId\_ StartScheduleTableSynchron\_ ScheduleTableID()	& sched\_explicit															& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       5, 16, 27
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 8)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 4)							& E\_OK																	& 5 \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& 16 \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		       28
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s5.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 8)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 9)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		       29
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s6.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 3)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 5)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 7 %
	\textbf{Test Sequence 7 :}
	\begin{lstlisting}
	TEST CASES:		       31
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s7.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 9)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 0)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 8 %
	\textbf{Test Sequence 8 :}
	\begin{lstlisting}
	TEST CASES:		       30
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s8.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 9)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 0)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 9 %
	\textbf{Test Sequence 9 :}
	\begin{lstlisting}
	TEST CASES:		       32
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s9.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 4)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 0)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline	
	\end{supertabular}\\
	
	% TEST SEQUENCE 10 %
	\textbf{Test Sequence 10 :}
	\begin{lstlisting}
	TEST CASES:		       11, 12, 36
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s10.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 8)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SetScheduleTableAsync(sched\_explicit)						& E\_OK																	& 11 \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 8)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 4)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& SetScheduleTableAsync(sched\_explicit)						& E\_OK																	& 12 \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 11 %
	\textbf{Test Sequence 11 :}
	\begin{lstlisting}
	TEST CASES:		       33
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s11.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 8)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 4)							& E\_OK																	& 5 \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& 16 \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 12 %
	\textbf{Test Sequence 12 :}
	\begin{lstlisting}
	TEST CASES:		       34
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s12.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableSynchron(sched\_explicit)					& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 8)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 9)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& ClearEvent(Event1)										& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 13 %
	\textbf{Test Sequence 13 :}
	\begin{lstlisting}
	TEST CASES:		       35, 37
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s13.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_WAITING								& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 3)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& SyncScheduleTable(sched\_explicit, 5)							& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)						& E\_OK																	& \\ \hline
	t2		& TerminateTask()											& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched\_explicit, \&STStatusType)			& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_ AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()											& E\_OK																	& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 14 %
	\textbf{Test Sequence 14 :}
	\begin{lstlisting}
	TEST CASES:		       19, 22, 27
	RETURN STATUS:	  	 STANDARD, EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sts_s14.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& StartScheduleTableAbs(sched1, 1)									& E\_OK																	& 22\\ \hline
	t1		& StartScheduleTableRel(sched2, 1)									& E\_OK																	& 19 \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING							& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING 							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_SetEvent														& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t2		& WaitEvent(Event1)													& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	ErrorHook	& OSErrorGetServiceId()												& OSServiceId\_ActivateTask													& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t2		& TerminateTask()													& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING							& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING							& \\ \hline
	t1		& StopScheduleTable(sched2)											& E\_OK																	& \\ \hline
	t1		& SyncScheduleTable(sched1, 3)										& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched2 \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_STOPPED							& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t2		& TerminateTask()													& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t2		& TerminateTask()													& E\_OK																	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING							& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)								& E\_OK																	& \\ \hline
	t2		& TerminateTask()													& E\_OK																	& \\ \hline
	t1		& GetScheduleTableStatus(sched2, \&STStatusType)						& E\_OK, STStatusType = SCHEDULETABLE\_RUNNING\_\-AND\_SYNCHRONOUS		& \\ \hline
	t1		& TerminateTask()													& E\_OK																	& \\ \hline
	\end{supertabular}\\

\subsection{AUTOSAR - OS-Application}
	
	\subsubsection{API Service Calls for OS objects}
	Goil 2b50 and after emits an error when the scalability class is 2 or 4 and the objects are not all in an OS Application. This renders test sequence 2 obsolete. This test sequence is no longer included in the test suite.\\	
	CheckTaskMemoryAccess() and CheckISRMemoryAccess()... \\ 
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       38, 39, 40, 42
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOK:			           ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_app_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline
	t1		& GetApplicationID()									& app1								& 42 \\ \hline
	t1		& SetRelAlarm(Alarm1, 1, 0)							& E\_OK								& \\ \hline
	t1		& GetAlarm(Alarm1, \&AlarmBaseType)					& E\_OK								& \\ \hline
	t1		& StartScheduleTableAbs(sched1, 0)					& E\_OK								& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)		& E\_OK, STStatusType=RUNNINNG		& \\ \hline
	t1		& GetResource()									& E\_OK								& \\ \hline
	t1		& TerminateApplication(INVALID\_RESTART)				& E\_OS\_VALUE						& 38 \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ TerminateApplication		& \\ \hline
	t1		& TerminateApplication(RESTART)						& 									& 40 \\ \hline
	
	t1		& GetApplicationID()									& app1								& \\ \hline
	t1		& GetAlarm(Alarm1, \&AlarmBaseType)					& E\_OS\_NOFUNC						& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)		& E\_OK, STStatusType=STOPPED			& \\ \hline
	t1		& ReleaseResource()								& E\_OS\_NOFUNC						& \\ \hline
	t1		& TerminateApplication(NO\_RESTART)					& 									& 39 \\ \hline
	
	t2		& GetApplicationID()									& app2								& \\ \hline
	t2		& TerminateTask()									& E\_OK								& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       41
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_app_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& GetApplicationID()									& INVALID\_OSAPPLICATION								& 41 \\ \hline
	t1		& TerminateApplication()								& E\_OS\_CALLEVEL									& \\ \hline
	t1 		& TerminateTask()									& E\_OK												& \\ \hline 
	\end{supertabular}\\
	
	\subsubsection{Access Rights for objects in API services}

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       1 to 37
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_app_s3.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& CheckObjectAccess(INVALID\_OSAPPLICATION, OBJECT\_TASK, t1)				& NO\_ACCESS					& 1 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_TYPE\_COUNT, t1)						& NO\_ACCESS					& 2 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_TASK, INVALID\_TASK)					& NO\_ACCESS					& 3 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_TASK, t1)								& ACCESS						& 4 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_TASK, t2)								& NO\_ACCESS					& 5 \\ \hline
	
	t1		& CheckObjectAccess(app2, OBJECT\_ISR, INVALID\_ISR)						& NO\_ACCESS					& 6 \\ \hline
	t1		& CheckObjectAccess(app2, OBJECT\_ISR, isr1)								& ACCESS						& 7 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_ISR, isr1)								& NO\_ACCESS					& 8 \\ \hline
	
	t1		& CheckObjectAccess(app2, OBJECT\_ALARM, INVALID\_ALARM)				& NO\_ACCESS					& 9 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_ALARM, Alarm1)							& ACCESS						& 10 \\ \hline
	t1		& CheckObjectAccess(app2, OBJECT\_ALARM, Alarm1)							& NO\_ACCESS					& 11 \\ \hline
	
	t1		& CheckObjectAccess(app1, OBJECT\_RESOURCE, INVALID\_RESOURCE)			& NO\_ACCESS					& 12 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_RESOURCE, Resource1)					& ACCESS						& 13 \\ \hline
	t1		& CheckObjectAccess(app2, OBJECT\_RESOURCE, Resource1)					& NO\_ACCESS					& 14 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_RESOURCE, RES\_SCHEDULER)			& ACCESS						& 15 \\ \hline
	t1		& CheckObjectAccess(app2, OBJECT\_RESOURCE, RES\_SCHEDULER)			& ACCESS						& 15 \\ \hline
	
	t1		& CheckObjectAccess(app1, OBJECT\_ SCHEDULETABLE, INVALID\_SCHEDULETABLE)	& NO\_ACCESS				& 16 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_ SCHEDULETABLE, sched1)				& ACCESS						& 17 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_ SCHEDULETABLE, sched2)				& NO\_ACCESS					& 18 \\ \hline
	
	t1		& CheckObjectAccess(app1, OBJECT\_COUNTER, INVALID\_COUNTER)			& NO\_ACCESS					& 19 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_COUNTER, Software\_Counter)				& ACCESS						& 20 \\ \hline
	t1		& CheckObjectAccess(app2, OBJECT\_COUNTER, Software\_Counter)				& NO\_ACCESS					& 21 \\ \hline
	t1		& CheckObjectAccess(app1, OBJECT\_COUNTER, SystemCounter)				& NO\_ACCESS					& 22 \\ \hline
	
	t1		& CheckObjectOwnerShip(OBJECT\_TYPE\_COUNT, t1)							& INVALID\_OSAPPLICATION			& 23 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_TASK, INVALID\_TASK)						& INVALID\_OSAPPLICATION			& 24 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_TASK, t1)								& app1							& 25 \\ \hline
	
	t1		& CheckObjectOwnerShip(OBJECT\_ISR, INVALID\_ISR)						& INVALID\_OSAPPLICATION			& 26 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_ISR, isr1)								& app2							& 27 \\ \hline
	
	t1		& CheckObjectOwnerShip(OBJECT\_ALARM, INVALID\_ALARM)					& INVALID\_OSAPPLICATION			& 28 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_ALARM, Alarm1)							& app1							& 29 \\ \hline
	
	t1		& CheckObjectOwnerShip(OBJECT\_RESOURCE, INVALID\_RESOURCE)			& INVALID\_OSAPPLICATION			& 30 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_RESOURCE, Resource1)					& app1							& 31 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_RESOURCE, RES\_SCHEDULER)			& INVALID\_OSAPPLICATION			& 32 \\ \hline
	
	t1		& CheckObjectOwnerShip(OBJECT\_ SCHEDULETABLE, INVALID\_SCHEDULETABLE)	& INVALID\_OSAPPLICATION			& 33 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_ SCHEDULETABLE, sched1)					& app1							& 34 \\ \hline
	
	t1		& CheckObjectOwnerShip(OBJECT\_COUNTER, INVALID\_COUNTER)				& INVALID\_OSAPPLICATION			& 35 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_COUNTER, Resource1)						& app1							& 36 \\ \hline
	t1		& CheckObjectOwnerShip(OBJECT\_COUNTER, SystemCounter)					& INVALID\_OSAPPLICATION			& 37 \\ \hline	
	t1		& TerminateTask()														& E\_OK							& \\ \hline
	\end{supertabular}\\


	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       1 to 46
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_app_s4.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& ActivateTask(t2)								& E\_OS\_ACCESS					& 1 \\ \hline
	t1		& ActivateTask(t3)								& E\_OK							& 2 \\ \hline
	t3		& WaitEvent(Event3)								& E\_OK							& \\ \hline
	t1		& GetTaskState(t2, \&TaskStateType)				& E\_OS\_ACCESS					& 5 \\ \hline
	t1		& GetTaskState(t3, \&TaskStateType)				& E\_OK, State=WAITING				& 6 \\ \hline
	t1		& SetEvent(t2, Event2)							& E\_OS\_ACCESS					& 11 \\ \hline
	t1		& SetEvent(t3, Event3)							& E\_OK							& 12 \\ \hline
	t3		& WaitEvent(Event2)								& E\_OK							& \\ \hline
	t1		& GetEvent(t2, \&EventMaskType)					& E\_OS\_ACCESS					& 13 \\ \hline
	t1		& GetEvent(t3, \&EventMaskType)					& E\_OK, Event=Event3				& 14 \\ \hline
	
	t1		& GetResource(Resource2)						& E\_OS\_ACCESS					& 7 \\ \hline
	t1		& GetResource(Resource1)						& E\_OK							& 8 \\ \hline
	t1		& ReleaseResource(Resource1)					& E\_OK							& 10 \\ \hline
	t1		& ReleaseResource(Resource2)					& E\_OS\_ACCESS					& 9 \\ \hline
	
	t1		& SetAbsAlarm(Alarm2, 1, 0)						& E\_OS\_ACCESS					& 21 \\ \hline
	t1		& SetAbsAlarm(Alarm1, 1, 0)						& E\_OK							& 22 \\ \hline
	t1		& GetAlarmBase(Alarm2, \&AlarmBaseType)			& E\_OS\_ACCESS					& 15 \\ \hline
	t1		& GetAlarmBase(Alarm1, \&AlarmBaseType)			& E\_OK							& 16 \\ \hline
	t1		& GetAlarm(Alarm2, \&TickType)					& E\_OS\_ACCESS					& 17 \\ \hline
	t1		& GetAlarm(Alarm1, \&TickType)					& E\_OK							& 18 \\ \hline
	t1		& CancelAlarm(Alarm2)							& E\_OS\_ACCESS					& 23 \\ \hline
	t1		& CancelAlarm(Alarm1)							& E\_OK							& 24 \\ \hline
	t1		& SetRelAlarm(Alarm2, 1, 0)						& E\_OS\_ACCESS					& 19 \\ \hline
	t1		& SetRelAlarm(Alarm1, 1, 0)						& E\_OK							& 20 \\ \hline
	t1		& CancelAlarm(Alarm1)							& E\_OK							& \\ \hline
	
	t1		& StartScheduleTableAbs(sched2, 0)				& E\_OS\_ACCESS					& 27 \\ \hline
	t1		& StartScheduleTableAbs(sched1, 0)				& E\_OK							& 28 \\ \hline
	t1		& StopScheduleTable(sched2)						& E\_OS\_ACCESS					& 29 \\ \hline
	t1		& StopScheduleTable(sched1)						& E\_OK							& 30 \\ \hline
	t1		& StartScheduleTableRel(sched2, 0)				& E\_OS\_ACCESS					& 25 \\ \hline
	t1		& StartScheduleTableRel(sched1, 0)				& E\_OK							& 26 \\ \hline
	t1		& NextScheduleTable(sched1, sched2)				& E\_OS\_ACCESS					& 31 \\ \hline
	t1		& NextScheduleTable(sched2, sched1)				& E\_OS\_ACCESS					& 31 \\ \hline
	t1		& NextScheduleTable(sched1, sched3)				& E\_OK							& 32 \\ \hline
	t1		& StopScheduleTable(sched1)						& E\_OK							& \\ \hline
	t1		& StartScheduleTableSynchron(sched2)				& E\_OS\_ACCESS					& 33 \\ \hline
	t1		& StartScheduleTableSynchron(sched1)				& E\_OK							& 34 \\ \hline
	t1		& SyncScheduleTable(sched2, 0)					& E\_OS\_ACCESS					& 35 \\ \hline
	t1		& SyncScheduleTable(sched1, 0)					& E\_OK							& 36 \\ \hline
	t1		& SetScheduleTableAsync(sched2)					& E\_OS\_ACCESS					& 37 \\ \hline
	t1		& SetScheduleTableAsync(sched1)					& E\_OK							& 38 \\ \hline
	t1		& GetScheduleTableStatus(sched2)					& E\_OS\_ACCESS					& 39 \\ \hline
	t1		& GetScheduleTableStatus(sched1)					& E\_OK, State= SCHEDULETABLE\_ RUNNING	& 40 \\ \hline
	
	t1		& IncrementCounter(Software\_Counter2)			& E\_OS\_ACCESS					& 41 \\ \hline
	t1		& IncrementCounter(Software\_Counter1)			& E\_OK							& 42 \\ \hline
	t1		& GetCounterValue(Software\_Counter2, \&TickType)	& E\_OS\_ACCESS					& 43 \\ \hline
	t1		& GetCounterValue(Software\_Counter1, \&TickType)	& E\_OK, TickType=1				& 44 \\ \hline
	t1		& GetElapsedCounterValue(Software\_Counter2, 0, \&TickType)		& E\_OS\_ACCESS			& 45 \\ \hline
	t1		& GetElapsedCounterValue(Software\_Counter1, 0, \&TickType)		& E\_OK, TickType=1		& 46 \\ \hline
	
	t1		& SetEvent(t3, Event2)							& E\_OK							& \\ \hline
	t3		&											&								& \\ \hline
	t1		& ChainTask(t2)								& E\_OS\_ACCESS					& 3 \\ \hline
	t1		& ChainTask(t3)								& E\_OK							& 4 \\ \hline
	t3		& TerminateTask()								& E\_OK							& \\ \hline
	\end{supertabular}\\
		
\subsection{AUTOSAR - Service Protection}
	
	Test case 10 has already been tested in \textit{interrupts\_s6} because OSEK OS specify that no service is allowed afeter disabling interrupts. \\ 
	Test case 12 has already been tested in \textit{hook\_s2}. If PosttaskHooh were called, an error should have occured.\\
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       2, 10
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		           ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sp_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& ActivateTask(t2)							& E\_OK												& \\ \hline
	t1		& DisableAllInterrupts()						&													& \\ \hline
	t1 		& \textit{trigger interrupt isr2}					& 													& \\ \hline 
	t1		& TerminateTask()							& E\_OS\_DISABLEDINT									& 10 \\ \hline
	ErrorHook	& OSErrorGetServiceId						& OSServiceId\_TerminateTask							& \\ \hline
	t1 		& \textit{trigger interrupt isr2}					& 													& \\ \hline 
	t1		& TerminateTask()							& E\_OS\_DISABLEDINT									& \\ \hline
	ErrorHook	& OSErrorGetServiceId						& OSServiceId\_TerminateTask							& \\ \hline
	t1 		& \textit{trigger interrupt isr2}					& 													& \\ \hline 
	ErrorHook	& StatusError 								& E\_OS\_MISSINGEND									& 2 \\ \hline
	isr2		& 										&													& \\ \hline
	t2 		& \textit{trigger interrupt isr1}					& 													& \\ \hline 
	isr1		& 										& 													& \\ \hline
	t2		& TerminateTask()							& 													& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       6
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		           ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sp_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 		& \textit{trigger interrupt isr1}					& 													& \\ \hline 
	isr1		& DisableAllInterrupts()						&													& \\ \hline
	isr1 		& \textit{trigger interrupt isr2}					& 													& \\ \hline 
	ErrorHook	& StatusError								& E\_OS\_DISABLEDINT									& 6 \\ \hline
	isr2		& 										&													& \\ \hline
	t1		& TerminateTask()							& 													& \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       1, 3, 4, 5
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		           ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sp_s3.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 		& GetResource(Resource1)					& E\_OK												& \\ \hline 
	t1 		& ActivateTask(t2)							& E\_OK												& \\ \hline 
	t1 		& TerminateTask()							& E\_OS\_RESOURCE									& \\ \hline 
	ErrorHook	& OSErrorGetServiceId						& OSServiceId\_TerminateTask							& \\ \hline
	ErrorHook	& StatusError								& E\_OS\_RESOURCE									& \\ \hline
	t1 		& ActivateTask(t3)							& E\_OK												& \\ \hline 
	t3		& 										&													& \\ \hline
	ErrorHook	& GetTaskID()								& E\_OK, TaskID=t3										& \\ \hline
	ErrorHook	& GetTaskState(TaskID, \&TaskStateType)		& E\_OK, TaskStateType=RUNNING						& \\ \hline 
	ErrorHook	& StatusError 								& E\_OS\_MISSINGEND									& 1, 5 \\ \hline
	PostTaskHook&									&													& \\ \hline
	t1 		& TerminateTask()							& E\_OS\_RESOURCE									& \\ \hline 
	ErrorHook	& OSErrorGetServiceId						& OSServiceId\_TerminateTask							& \\ \hline
	ErrorHook	& StatusError								& E\_OS\_RESOURCE									& \\ \hline
	t1		& 										& 													& \\ \hline
	ErrorHook	& StatusError								& E\_OS\_MISSINGEND									& 3 \\ \hline
	t2 		& GetResource(Resource1)					& E\_OK												& \\ \hline 
	t2 		& GetResource(Resource2)					& E\_OK												& \\ \hline 
	t2 		& ActivateTask(t1)							& E\_OK												& \\ \hline 
	ErrorHook	& StatusError								& E\_OS\_MISSINGEND									& 4 \\ \hline
	t1 		& GetResource(Resource2)					& E\_OK												& \\ \hline 
	t1 		& GetResource(Resource1)					& E\_OK												& \\ \hline 
	t1 		& ReleaseResource(Resource1)				& E\_OK												& \\ \hline 
	t1 		& ReleaseResource(Resource2)				& E\_OK												& \\ \hline 
	t1 		& TerminateTask()							& E\_OK												& \\ \hline 
	\end{supertabular}\\
	
	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       7, 8, 9
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		           ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sp_s4.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1 		& \textit{trigger interrupt isr1}					& 													& \\ \hline 
	isr1 		& GetResource(Resource1)					& E\_OK												& \\ \hline 
	isr1 		& \textit{trigger interrupt isr2}					& 													& \\ \hline 
	isr1 		& \textit{trigger interrupt isr3}					& 													& \\ \hline 
	isr3		& 										&	 												& 9 \\ \hline
	isr1		& 										& 													& \\ \hline
	ErrorHook	& StatusError								& E\_OS\_RESOURCE									& 7 \\ \hline
	isr2 		& GetResource(Resource1)					& E\_OK												& \\ \hline 
	isr2 		& GetResource(Resource2)					& E\_OK												& \\ \hline 
	isr2 		& \textit{trigger interrupt isr1}					& 													& \\ \hline 
	ErrorHook	& StatusError								& E\_OS\_RESOURCE									& 8 \\ \hline
	isr1 		& GetResource(Resource2)					& E\_OK												& \\ \hline 
	isr1 		& GetResource(Resource1)					& E\_OK												& \\ \hline 
	isr1 		& ReleaseResource(Resource1)				& E\_OK												& \\ \hline 
	isr1 		& ReleaseResource(Resource2)				& E\_OK												& \\ \hline 
	t1 		& TerminateTask()							& E\_OK												& \\ \hline 
	\end{supertabular}\\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		       10
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	HOOKS:		           ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_sp_s5.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1		& DisableAllInterrupts()								& 									& \\ \hline
	t1		& GetApplicationID()									& INVALID\_OSAPPLICATION				& 10 \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_GetApplicationID			& \\ \hline
	t1		& GetISRID()										& INVALID\_ISR						& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_GetISRID					& \\ \hline
	t1		& ChecObjectAccess()								& NO\_ACCESS						& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ ChecObjectAccess			& \\ \hline
	t1		& ChecObjectOwnership()							& INVALID\_OSAPPLICATION				& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ ChecObjectOwnership		& \\ \hline
	t1		& StartScheduleTableRel(sched1, 1)					& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ StartScheduleTableRel		& \\ \hline
	t1		& StartScheduleTableAbs(sched1, 0)					& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ StartScheduleTableAbs		& \\ \hline
	t1		& StopScheduleTable(sched1)							& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ StopScheduleTable		& \\ \hline
	t1		& NextScheduleTable(sched1, sched2)					& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ NextScheduleTable		& \\ \hline
	t1		& StartScheduleTableSynchron(sched1)					& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ StartScheduleTableSynchron	& \\ \hline
	t1		& SyncScheduleTable(sched1, 0)						& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ SyncScheduleTable		& \\ \hline
	t1		& GetScheduleTableStatus(sched1, \&STStatusType)		& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ GetScheduleTableStatus	& \\ \hline
	t1		& SetScheduleTableAsync(sched1)						& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ SetScheduleTableAsync	& \\ \hline
	t1		& IncrementCounter(Software\_Counter1)				& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ IncrementCounter			& \\ \hline
	t1		& GetCounterValue(Software\_Counter1, \&TickType)		& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ GetCounterValue			& \\ \hline
	t1		& GetElapsedCounterValue(Software\_Counter1, \&TickType1, \&TickType2)	& E\_OS\_DISABLEDINT		& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ GetElapsedCounterValue	& \\ \hline
	t1		& TerminateApplication(NO\_RESTART) 					& E\_OS\_DISABLEDINT					& \\ \hline
	ErrorHook	& OSErrorGetServiceId()								& OSServiceId\_ TerminateApplication		& \\ \hline
	t1		& EnableAllInterrupts()								& 									& \\ \hline
	t1 		& TerminateTask()									& E\_OK								& \\ \hline 
	\end{supertabular}\\
	
	
% AUTOSAR - MEMORY PROTECTION %
\subsection{AUTOSAR - Memory Protection}

\settowidth{\Li}{t1\_app\_nontrusted1}
\setlength{\Lii}{\textwidth} \addtolength{\Lii}{-\Li} \addtolength{\Lii}{-\Liii} \addtolength{\Lii}{-\Liiii}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       1, 2, 5, 6, 7
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_mp_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1\_app\_nontrusted1	& Read its own OS application datas		& Access allowed										& 5a \\ \hline
	t1\_app\_nontrusted1	& Write its own OS application datas			& Access allowed										& 5b \\ \hline
	t1\_app\_nontrusted1	& Read trusted OS application datas		& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 6e \\ \hline
	t1\_app\_nontrusted1	& Write trusted OS application datas			& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 6f \\ \hline
	t1\_app\_nontrusted1	& Read other non-trusted OS application datas & Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 6c \\ \hline
	t1\_app\_nontrusted1	& Write other non-trusted OS application datas & Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 6d \\ \hline
	t1\_app\_nontrusted1	& Read OS datas from non-truted OS application	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 1a \\ \hline
	t1\_app\_nontrusted1	& Write OS datas from non-truted OS application	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 1b \\ \hline
	t1\_app\_nontrusted1	& WaitEvent(Event1)							& E\_OK											& \\ \hline
	
	t1\_app\_trusted1		& Read its own OS application datas		& Access allowed										& 7a \\ \hline
	t1\_app\_trusted1		& Write its own OS application datas			& Access allowed										& 7b \\ \hline
	t1\_app\_trusted1		& Read other trusted OS application datas 	& Access allowed										& 7e \\ \hline
	t1\_app\_trusted1		& Write other trusted OS application datas 	& Access allowed										& 7f \\ \hline
	t1\_app\_trusted1		& Read non-trusted OS application datas		& Access allowed										& 7c \\ \hline
	t1\_app\_trusted1		& Write non-trusted OS application datas		& Access allowed										& 7d \\ \hline
	t1\_app\_trusted1		& Read OS datas from trusted OS application	& Access allowed										& 2a \\ \hline
	t1\_app\_trusted1		& Write OS datas from trusted OS application	& Access allowed										& 2b \\ \hline
	t1\_app\_trusted1		& SetEvent(t1\_app\_nontrusted1, Event1)		& E\_OK											& \\ \hline
	
	t1\_app\_trusted1		& TerminateTask()							& E\_OK											& \\ \hline
	t1\_app\_nontrusted1	& TerminateTask()							& E\_OK											& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       8, 9
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_mp_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1\_app\_nontrusted1	& Read/Write its own Task/OsIsr datas from non-trusted OS app.	& Access allowed									& \\ \hline
	t1\_app\_nontrusted1	& Read Task/OsIsr datas in the same non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 8a \\ \hline
	t1\_app\_nontrusted1	& Write Task/OsIsr datas in the same non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 8b \\ \hline
	t1\_app\_nontrusted1	& Read Task/OsIsr datas in the other non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 8c \\ \hline
	t1\_app\_nontrusted1	& Write Task/OsIsr datas in the other non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 8d \\ \hline
	t1\_app\_nontrusted1	& Read Task/OsIsr datas in trusted OS application				 & Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 8e \\ \hline
	t1\_app\_nontrusted1	& Write Task/OsIsr datas in trusted OS application				 & Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& 8f \\ \hline
	t1\_app\_nontrusted1	& WaitEvent(Event1)										& E\_OK											& \\ \hline
	
	t1\_app\_trusted1		& Read/Write its own Task/OsIsr datas from trusted OS app.		& Access allowed									& \\ \hline
	t1\_app\_trusted1		& Read Task/OsIsr datas in the same trusted OS application 		& Access allowed									& 9a \\ \hline
	t1\_app\_trusted1		& Write Task/OsIsr datas in the same trusted OS application 		& Access allowed									& 9b \\ \hline
	t1\_app\_trusted1		& Read Task/OsIsr datas in the other trusted OS application 		& Access allowed									& 9e \\ \hline
	t1\_app\_trusted1		& Write Task/OsIsr datas in the other trusted OS application 		& Access allowed									& 9f \\ \hline
	t1\_app\_trusted1		& Read Task/OsIsr datas in non-trusted OS application	 		& Access allowed									& 9c \\ \hline
	t1\_app\_trusted1		& Write Task/OsIsr datas in non-trusted OS application	 		& Access allowed									& 9d \\ \hline
	t1\_app\_trusted1		& SetEvent(t1\_app\_nontrusted1, Event1)					& E\_OK											& \\ \hline
	
	t1\_app\_trusted1		& TerminateTask()										& E\_OK											& \\ \hline
	t1\_app\_nontrusted1	& TerminateTask()										& E\_OK											& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       3, 4, 10, 11
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_mp_s3.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1\_app\_nontrusted1	& DisableAllInterrupts()								&												& \\ \hline
	t1\_app\_nontrusted1	& Read/Write its own Task/OsIsr stack from non-trusted OS app.	& Access allowed								& \\ \hline
	t1\_app\_nontrusted1	& EnableAllInterrupts()								&												& \\ \hline
	
	t1\_app\_nontrusted1	& Read Task/OsIsr stack in the same non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 10a \\ \hline
	t1\_app\_nontrusted1	& Write Task/OsIsr stack in the same non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 10b \\ \hline
	t1\_app\_nontrusted1	& Read Task/OsIsr stack in the other non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 10c \\ \hline
	t1\_app\_nontrusted1	& Write Task/OsIsr stack in the other non-trusted OS application 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 10d \\ \hline
	t1\_app\_nontrusted1	& Read Task/OsIsr stack in trusted OS application			 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 10e \\ \hline
	t1\_app\_nontrusted1	& Write Task/OsIsr stack in trusted OS application			 	& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 10f \\ \hline
	t1\_app\_nontrusted1	& Read OS stack from non-trusted OS application				& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 3a \\ \hline
	t1\_app\_nontrusted1	& Write OS stack from non-trusted OS application				& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 3b \\ \hline
		
	t1\_app\_nontrusted1	& WaitEvent(Event1)									& E\_OK											& \\ \hline
	
	t1\_app\_trusted1	& DisableAllInterrupts()								&												& \\ \hline
	t1\_app\_trusted1	& Read/Write its own Task/OsIsr stack from trusted OS app.	& Access allowed									& \\ \hline
	t1\_app\_trusted1	& EnableAllInterrupts()								&												& \\ \hline
	
	t1\_app\_trusted1	& DisableAllInterrupts()								&												& \\ \hline
	t1\_app\_trusted1	& Read Task/OsIsr stack in the same trusted OS application 	& Access allowed									& 11a \\ \hline
	t1\_app\_trusted1	& Write Task/OsIsr stack in the same trusted OS application 	& Access allowed									& 11b \\ \hline
	t1\_app\_trusted1	& Read Task/OsIsr stack in the other trusted OS application 	& Access allowed									& 11e \\ \hline
	t1\_app\_trusted1	& Write Task/OsIsr stack in the other trusted OS application 	& Access allowed									& 11f \\ \hline
	t1\_app\_trusted1	& Read Task/OsIsr stack in non-trusted OS application	 	& Access allowed									& 11c \\ \hline
	t1\_app\_trusted1	& Write Task/OsIsr stack in non-trusted OS application	 	& Access allowed									& 11d \\ \hline
	t1\_app\_trusted1	& EnableAllInterrupts()								&												& 11 \\ \hline

	t1\_app\_trusted1	& DisableAllInterrupts()								&												& \\ \hline
	t1\_app\_trusted1	& Read OS stack from truted OS application				& Access allowed									& 4a \\ \hline
	t1\_app\_trusted1	& Write OS stack from truted OS application				& Access allowed									& 4b \\ \hline
	t1\_app\_trusted1	& EnableAllInterrupts()								&												& \\ \hline

	t1\_app\_trusted1		& SetEvent(t1\_app\_nontrusted1, Event1)				& E\_OK											& \\ \hline
	t1\_app\_trusted1		& TerminateTask()									& E\_OK											& \\ \hline
	t1\_app\_nontrusted1	& TerminateTask()									& E\_OK											& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       12, 13, 14, 16, 15, 17, 18
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   NON-PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_mp_s4.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1\_app\_nontrusted1	& Execute protected code from non-trusted OS application		& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY	& (not tested yet) 14 \\ \hline
	t1\_app\_nontrusted1	& Execute shared library code from non-trusted OS application 	& Access allowed									& 12 \\ \hline
	t1\_app\_nontrusted1	& Read access to peripheral from non-trusted OS application 		& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 17c \\ \hline
	t1\_app\_nontrusted1	& Write access to peripheral from non-trusted OS application 		& Call ProtectionHook with E\_OS\_PROTECTION\_MEMORY		& 17d \\ \hline
	t1\_app\_nontrusted1	& Read access to its assigned peripheral from non-trusted OS application	& Access allowed						& (not tested yet) 16a \\ \hline
	t1\_app\_nontrusted1	& Write access to its assigned peripheral from non-trusted OS application	& Access allowed						& (not tested yet) 16b \\ \hline
	
	t1\_app\_nontrusted1	& WaitEvent(Event1)										& E\_OK											& \\ \hline
	
	t1\_app\_trusted1		& Execute protected code from trusted OS application			& Access allowed									& (not tested yet) 15 \\ \hline
	t1\_app\_trusted1		& Execute shared library code from trusted OS application 		& Access allowed									& 13 \\ \hline
	t1\_app\_trusted1		& Read access to peripheral from trusted OS application 	& Access allowed									& 18c \\ \hline
	t1\_app\_trusted1		& Write access to peripheral from trusted OS application 	& Access allowed									& 18d \\ \hline
	t1\_app\_trusted1		& Read access to its assigned peripheral from trusted OS application	& Access allowed							& (not tested yet) 18a \\ \hline
	t1\_app\_trusted1		& Write access to its assigned peripheral from trusted OS application	& Access allowed							& (not tested yet) 18b \\ \hline
	t1\_app\_trusted1		& SetEvent(t1\_app\_nontrusted1, Event1)					& E\_OK											& \\ \hline
	
	t1\_app\_trusted1		& TerminateTask()										& E\_OK											& \\ \hline
	t1\_app\_nontrusted1	& TerminateTask()										& E\_OK											& \\ \hline
	\end{supertabular}\\


% AUTOSAR - TRUSTED FUNCTION %
%\subsection{AUTOSAR - Trusted function}

% AUTOSAR - TIMING PROTECTION %
\subsection{AUTOSAR - Timing Protection}
\subsubsection{Time Execution Budget}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       1, 2, 3, 4
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	idle	& \textit{Wait for the alarm}							& 										& \\ \hline
	t1	& TerminateTask()							& E\_OK											& 1 \\ \hline
	idle	& \textit{Wait for the alarm}							& 										& \\ \hline
	t1	& ActivateTask(t2)							& E\_OK											& \\ \hline
	t2	& TerminateTask()							& E\_OK											& \\ \hline
	t1	& TerminateTask()							& E\_OK											& 3 \\ \hline
	idle	& \textit{Wait for the alarm}							& 										& \\ \hline
	t1	& StopScheduleTable(sched1)					& E\_OK											& \\ \hline
	t1	& ActivateTask(t3)							& E\_OK											& \\ \hline
	t3	& \textit{endless loop to active protection hook}		& 												& 2 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_TIME 						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& & \\ \hline
	t1	& ActivateTask(t4)							& E\_OK											& \\ \hline
	t1	& \textit{endless loop to active protection hook}		& 												& 4 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_TIME 						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& & \\ \hline
	t4	& TerminateTask()							& E\_OK											& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       5, 7, 8, 9, 10
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t3	& WaitEvent(t1\_event1)							& E\_OK											& 5 \\ \hline
	t1	& WaitEvent(t1\_event1)							& E\_OK											& \\ \hline
	idle	& \textit{Wait for the alarm}					& 												& \\ \hline
	t1	& ClearEvent(t1\_event1)						& E\_OK											& 7 \\ \hline
	t1	& WaitEvent(t1\_event1)							& E\_OK											& \\ \hline
	idle	& \textit{Wait for the alarm}					& 												& \\ \hline
	t1	& ClearEvent(t1\_event1)						& E\_OK											& \\ \hline
	t1	& ActivateTask(t2)							& E\_OK											& \\ \hline
	t2	& TerminateTask()							& E\_OK											& 9 \\ \hline
	t1	& WaitEvent(t1\_event1)							& E\_OK											& \\ \hline
	idle	& \textit{Wait for the alarm}					& 												& \\ \hline
	t1	& ClearEvent(t1\_event1)						& E\_OK											& \\ \hline
	t1	& StopScheduleTable(sched1)					& E\_OK											& \\ \hline
	t1	& SetEvent(t3,t3\_event1)						& E\_OK											& \\ \hline
	t3	& ClearEvent(t3 \_event1)						& E\_OK											& \\ \hline
	t3	& \textit{endless loop to active protection hook}		& 												& 8 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_TIME 						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& & \\ \hline
	t1	& ActivateTask(t4)							& E\_OK											& \\ \hline
	t1	& \textit{endless loop to active protection hook}		& E\_OS\_PROTECTION\_TIME						& 10 \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& & \\ \hline
	t4	& TerminateTask()							& E\_OK											& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       6, 11, 12
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s3.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& SetEvent(t1,t1\_event1)						& E\_OK											& \\ \hline
	t1	& WaitEvent(t1\_event1)							& E\_OK											& \\ \hline
	t1	& ClearEvent(t1\_event1)						& E\_OK											&  \\ \hline
	t1	& SetEvent(t1,t1\_event1)						& E\_OK											& \\ \hline
	t1	& WaitEvent(t1\_event1)							& E\_OK											& \\ \hline
	t1	& ClearEvent(t1\_event1)						& E\_OK											& \\ \hline
	t1	& SetEvent(t1,t1\_event1)						& E\_OK											& \\ \hline
	t1	& WaitEvent(t1\_event1)							& E\_OK											& 11 \\ \hline
	t1	& CleanEvent(t1\_event1)						& E\_OK											& \\ \hline
	t1	& SetEvent(t1,t1\_event1)						& E\_OK											& \\ \hline
	t1	& \textit{endless loop to active protection hook}		& 												& 12 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_TIME 						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& & \\ \hline
	t2	& \textit{endless loop to active protection hook}		& 												& 6 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_TIME 						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& & \\ \hline
	t3	& TerminateTask1()							& E\_OK											& \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       13, 14, 15, 16
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s4.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{trigger interrupt isr1}					& 												& \\ \hline
	isr1	& 										& 												& 13 \\ \hline
	t1	& \textit{trigger interrupt isr1}					& 												& \\ \hline
	isr1	& \textit{trigger interrupt isr2}					& 												& \\ \hline
	isr2	& 										& 												& \\ \hline
	isr1	& 										& 												& 15 \\ \hline
	t1	& \textit{trigger interrupt isr1}					& 												& \\ \hline
	isr1	& \textit{trigger interrupt isr2}					& 												& \\ \hline
	isr2	& \textit{endless loop to active protection hook}		&												& 14 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_TIME 						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& 										& \\ \hline
	isr1	& \textit{endless loop to active protection hook}		& 												& 16 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_TIME 						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& 										& \\ \hline
	t1	& TerminateTask()							& E\_OK											& \\ \hline
	\end{supertabular}\\
	
\subsubsection{Time Frame}

	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		       1, 2
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s5.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	idle	& \textit{Wait for the alarm}					& 												& \\ \hline
	t1	& TerminateTask()							& E\_OK											& \\ \hline
	idle	& \textit{Wait for the alarm}							& 										& 1 \\ \hline
	t1	& CancelAlarm(alarm1)						& E\_OK											& \\ \hline
	t1	& SetRelAlarm(alarm1, 5, 5)					& E\_OK											& \\ \hline
	t1	& TerminateTask()							& E\_OK											& \\ \hline
	idle	& \textit{Wait for the alarm}							& 										& 2 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_ARRIVAL						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& 										& \\ \hline
	idle	& \textit{Wait for the alarm}							& 										& \\ \hline
	t1	& TerminateTask()							& E\_OK											& \\ \hline	
	\end{supertabular}\\

	% TEST SEQUENCE 6 %
	\textbf{Test Sequence 6 :}
	\begin{lstlisting}
	TEST CASES:		       3
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook, ErrorHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s6.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{Wait for ever (wait for the alarm)}					& 										& \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_ARRIVAL						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& 										& \\ \hline
	t1	& \textit{Continue to wait for ever (wait for the alarm)}		& 										& 3 \\ \hline
	ErrorHook			& error								& E\_OS\_LIMIT							& \\ \hline
	ErrorHook			& OSErrorGetServiceId()					& OSServiceId\_ActivateTask					& \\ \hline
	\end{supertabular}\\	
	
	% TEST SEQUENCE 7 %
	\textbf{Test Sequence 7 :}
	\begin{lstlisting}
	TEST CASES:		       4, 5, 6
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s7.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{Wait Time Frame elapsed}						& 										& \\ \hline
	t1	& SetEvent(t1,t1\_event1)								& E\_OK									& \\ \hline
	t1	& WaitEvent(t1\_event1)								& E\_OK									& 4 \\ \hline
	t1	& TerminateTask()									& E\_OK									& \\ \hline	
	t2	& SetEvent(t2,t2\_event1)								& E\_OK									& \\ \hline
	t2	& WaitEvent(t2\_event1)								& E\_OK									& 5 \\ \hline
	t2	& ActivateTask(t3)									& E\_OK									& \\ \hline
	t3	& SetEvent(t3,t3\_event1)								& E\_OK									& \\ \hline
	t3	& WaitEvent(t3\_event1)								& E\_OK									& 6 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_ARRIVAL						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	& 										& \\ \hline
	t2	& TerminateTask()									& E\_OK									& \\ \hline
	\end{supertabular}\\	
	
	% TEST SEQUENCE 8 %
	\textbf{Test Sequence 8 :}
	\begin{lstlisting}
	TEST CASES:		       7, 8
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s8.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{Wait Time Frame elapsed}						& 										& \\ \hline
	t1	& WaitEvent(t1\_event1)								& E\_OK									& \\ \hline
	idle	& \textit{Wait for the alarm if has not set t1\_event1 to t1 during previous Time Frame wait}	&				& \\ \hline
	t1	& ClearEvent(t1\_event1)								& E\_OK									&  \\ \hline
	t1	& WaitEvent(t1\_event1)								& E\_OK									& \\ \hline
	idle	& \textit{Wait for the alarm}							& 										& 7 \\ \hline
	t1	& ClearEvent(t1\_event1)								& E\_OK									&  \\ \hline
	t1	& CancelAlarm(alarm1)								& E\_OK									& \\ \hline
	t1	& SetRelAlarm(alarm1, 5, 5)							& E\_OK									& \\ \hline
	t1	& WaitEvent(t1\_event1)								& E\_OK									& \\ \hline
	idle	& \textit{Wait for the alarm}							& 										& 8 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_ARRIVAL						& \\ \hline
	ProtectionHook		& \textit{return PRO\_SHUTDOWN}			& 										& \\ \hline
	\end{supertabular}\\	
	
	% TEST SEQUENCE 9 %
	\textbf{Test Sequence 9 :}
	\begin{lstlisting}
	TEST CASES:		       9, 10, 11, 12
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   PREEMPTIVE
	HOOKS:		           ProtectionHook
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/autosar_tp_s9.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|p{\Liiii}|} \hline 
	t1	& \textit{trigger interrupt isr1}					& 												& \\ \hline
	isr1	& 										& 												& \\ \hline
	t1	& \textit{Wait isr1 Time Frame elapsed}			& 												& \\ \hline
	t1	& \textit{trigger interrupt isr1}					& 												& 9 \\ \hline
	isr1	& 										& 												& \\ \hline
	t1	& \textit{trigger interrupt isr1}					& 												& 11 \\ \hline
	ProtectionHook		& Fatalerror					& E\_OS\_PROTECTION\_ARRIVAL						& \\ \hline
	ProtectionHook		& \textit{return PRO\_TERMINATETASKISR}	&										& \\ \hline
	t1	& \textit{Wait isr1 Time Frame elapsed}			& 												& \\ \hline
	t1	& \textit{trigger interrupt isr1}					& 												& \\ \hline
	isr1	& \textit{trigger interrupt isr2}					& 												& \\ \hline
	isr1	& \textit{trigger interrupt isr1}					& 												& 12 \\ \hline
	isr1	& \textit{Wait isr2 Time Frame elapsed}			& 												& \\ \hline
	isr2	& 										& 												& \\ \hline
	t1	& \textit{trigger interrupt isr2}					& 												& 10 \\ \hline
	isr2	& 										& 												& \\ \hline
	t1	& TerminateTask()							& E\_OK											& \\ \hline
	\end{supertabular}\\	

\subsubsection{Resource Locking and Interrupt Disabling}
	
% AUTOSAR - PROTECTION ERROR HANDLING %
%\subsection{AUTOSAR - Protection error handling}

% AUTOSAR - HOOK FUNCTIONS %
%\subsection{AUTOSAR - Hook functions}

% AUTOSAR - SYSTEM SCALABILITY %
%\subsection{AUTOSAR - System scalability}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
\newpage
\section{GOIL Test sequences}

	This chapter contains the specification of the test sequences that are not allowed for the user. The application in the oil file contains errors and GOIL has to prevent the user of the error (for example, an alarm which send an event to a basic task is forbidden). Each test sequence fulfils the test for one ore more of the test cases defined in Trampoline Test Plan. \\

\setlength{\Li}{7cm}
\setlength{\Liii}{0.9cm}
\setlength{\Lii}{\textwidth} \addtolength{\Lii}{-\Liii} \addtolength{\Lii}{-\Li}
\tablefirsthead{ \hline \rowcolor{lightgray} Wrong application & Return Status & Test case \\ }
\tablehead{  \hline \rowcolor{lightgray} Wrong application & Return Status & Test case \\ }
\tabletail{ \hline } 
\tablelasttail{}

\subsection{Event mechanism}

	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       41, 42, 43
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_events_s1.txt}
	

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	Creating an event with a MASK using more than one bit (\textit{Task1\_Event8})	& Warning : Mask attribute uses more than one bit									& 41 \\ \hline
	Creating the event \textit{Task2\_Event2} with a MASK already used			& Error : MASK of event \textit{Task2\_Event2} conflicts with previous declarations 			& 42 \\ \hline
	Creating an event with an automatic MASKs but all the MASK are already used	& Error : All event mask bits are already use, event \textit{Task1\_Event9} can't be created	& 43 \\ \hline
	\end{supertabular}\\


\subsection{AUTOSAR - Alarm}

	See diagram from Trampoline Test Plan.\\
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       3, 5, 7
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_alarm_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	Alarm's SetEvent action set an event on a basic task 			& error : An alarm can't set an Event to a basic task (Task t1 is a basic task).											& 3 \\ \hline
	Alarm's IncrementCounter, increment an hardware counter		& error : OS285 - It is impossible to increment a hardware counter (\textit{Hardware\_Counter} is not a software counter).		& 5, 7 \\ \hline
	\end{supertabular}\\
		
\subsection{AUTOSAR - Schedule Table}
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_st_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	No Expiry point in schedule table \textit{sched1}				& error : OS401 - no EXPIRY\_POINT found for SCHEDULETABLE \textit{sched1} 			& 42 \\ \hline	
	One expiry point in schedule table  \textit{sched3}				& 																		& 43 \\ \hline
	Two expiry points in schedule table \textit{sched4}				& 																		& 43 \\ \hline
	No Action in expiry point \textit{sched3\_ep1}					& error : OS407 - no ACTION found for EXPIRY\_POINT \textit{sched3\_ep1} 				& 44 \\ \hline
	One Action in expiry point \textit{sched5\_ep1}					& 																		& 45 \\ \hline
	Two Actions in expiry point \textit{sched4\_ep2}				& 																		& 46 \\ \hline
	No Counter in schedule table \textit{sched1}					& error : OS409 - Counter is not defined in \textit{sched1} ! 							& 47 \\ \hline
	One Counter in schedule table \textit{sched2}					& 																		& 48 \\ \hline
	Multiple Counters in schedule table \textit{sched3}					& error : OS409 - COUNTER attribute already defined for Schedule Table \textit{sched3} & 49 \\ \hline
	No Offset in expiry point \textit{sched2\_ep1}					& error : OS404 - OFFSET is missing for expiry point \textit{sched2\_ep1}					& 50 \\ \hline
	One Offset in expiry point \textit{sched4\_ep2}					& 																		& 51 \\ \hline
	Multiple Offset in expiry point \textit{sched4\_ep1}				& error : OS442 - OFFSET Redefinition											& 52 \\ \hline	
	\end{supertabular}\\
		
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_st_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	\textit{sched1} First Delay is equal to 0						& 																						& 53 \\ \hline
	\textit{sched2} First Delay is lower than MINCYCLE				& error : OS443 - OFFSET of first expiry point is lower than MINCYCLE of the driving counter and not equal to 0.	& 54 \\ \hline
	\textit{sched3} First Delay is equal to MINCYCLE				& 																						& 55 \\ \hline
	\textit{sched4} First Delay is equal to MAXALLOWEDVALUE		& 																						& 55 \\ \hline
	\textit{sched5} First Delay is greater than MAXALLOWEDVALUE	& error : OS443 - OFFSET of first expiry point is greater than MAXALLOWEDVALUE of the driving counter 		& 56 \\ \hline
	Delay bewteen \textit{sched2\_ep1} and \textit{sched2\_ep2}  is lower than MINCYCLE	& error : OS408 - Delay between expiry point number 1 and 2 is lower than MINCYCLE of the driving counter & 57 \\ \hline
	Delay bewteen \textit{sched3\_ep1} and \textit{sched3\_ep2}  is equal to MINCYCLE	& 																					& 58 \\ \hline
	Delay bewteen \textit{sched4\_ep1} and \textit{sched4\_ep2}  is equal to MAXALLOWEVALUE	& 																			& 58 \\ \hline
	Delay bewteen \textit{sched5\_ep1} and \textit{sched5\_ep2}  is greater than MAXALLOWEDVALUE	& error : OS408 - Delay between expiry point number 1 and 2 is greater than MAXALLOWEDVALUE of the driving counter	& 59 \\ \hline
	(Single-shot) \textit{sched2} Final Delay is equal to 0			& 																						& 60 \\ \hline
	(Single-shot) \textit{sched3} Final Delay is lower than MINCYCLE	& error : OS444 - Final delay should be within MINCYCLE and MAXALLOWEDVALUE of the driving counter		& 62 \\ \hline	
	(Single-shot) \textit{sched4} Final Delay is equal to MINCYCLE	& 																						& 63 \\ \hline	
	(Single-shot) \textit{sched1} Final Delay is equal to MAXALLOWEDVALUE	&																				& 63 \\ \hline	
	(Single-shot) \textit{sched5} Final Delay is greater than MAXALLOWEDVALUE & error : OS444 - Final delay should be within MINCYCLE and MAXALLOWEDVALUE of the driving counter	& 64 \\ \hline
	\end{supertabular}\\
		
	% TEST SEQUENCE 3 %
	\textbf{Test Sequence 3 :}
	\begin{lstlisting}
	TEST CASES:		       53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_st_s3.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	\textit{sched1} First Delay is equal to 0						& 																						& 53 \\ \hline
	\textit{sched2} First Delay is lower than MINCYCLE				& error : OS443 - OFFSET of first expiry point is lower than MINCYCLE of the driving counter and not equal to 0.	& 54 \\ \hline
	\textit{sched3} First Delay is equal to MINCYCLE				& 																						& 55 \\ \hline
	\textit{sched4} First Delay is equal to MAXALLOWEDVALUE		& 																						& 55 \\ \hline
	\textit{sched5} First Delay is greater than MAXALLOWEDVALUE	& error : OS443 - OFFSET of first expiry point is greater than MAXALLOWEDVALUE of the driving counter 		& 56 \\ \hline
	Delay bewteen \textit{sched2\_ep1} and \textit{sched2\_ep2}  is lower than MINCYCLE	& error : OS408 - Delay between expiry point number 1 and 2 is lower than MINCYCLE of the driving counter & 57 \\ \hline
	Delay bewteen \textit{sched3\_ep1} and \textit{sched3\_ep2}  is equal to MINCYCLE	& 																					& 58 \\ \hline
	Delay bewteen \textit{sched4\_ep1} and \textit{sched4\_ep2}  is equal to MAXALLOWEVALUE	& 																			& 58 \\ \hline
	Delay bewteen \textit{sched5\_ep1} and \textit{sched5\_ep2}  is greater than MAXALLOWEDVALUE	& error : OS408 - Delay between expiry point number 1 and 2 is greater than MAXALLOWEDVALUE of the driving counter	& 59 \\ \hline
	(Repeating) \textit{sched2} Final Delay is equal to 0				& error : OS427 - Final delay can be equal to 0 only for single-shot schedule table and \textit{sched2} is a repeating one		& 61 \\ \hline
	(Repeating) \textit{sched3} Final Delay is lower than MINCYCLE	& error : OS444 - Final delay should be within MINCYCLE and MAXALLOWEDVALUE of the driving counter				& 62 \\ \hline	
	(Repeating) \textit{sched4} Final Delay is equal to MINCYCLE	& 																									& 63 \\ \hline	
	(Repeating) \textit{sched1} Final Delay is equal to MAXALLOWEDVALUE	&																						& 63 \\ \hline	
	(Repeating) \textit{sched5} Final Delay is greater than MAXALLOWEDVALUE & error : OS444 - Final delay should be within MINCYCLE and MAXALLOWEDVALUE of the driving counter		& 64 \\ \hline
	\end{supertabular}\\

	% TEST SEQUENCE 4 %
	\textbf{Test Sequence 4 :}
	\begin{lstlisting}
	TEST CASES:		       65, 66, 67, 68, 69, 70
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_st_s4.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	Schedule table autostarts in ABSOLUTE mode with $<$OFFSET$>$ equal to 0						& 															& 65 \\ \hline
	Schedule table autostarts in ABSOLUTE mode with $<$OFFSET$>$ lower than MAXALLOWEDVALUE		& 															& 66 \\ \hline
	Schedule table autostarts in ABSOLUTE mode with $<$OFFSET$>$ greater than MAXALLOWEDVALUE	& error: OS349 - \textit{sched\_abs\_3} autostart's offset is greater than MAXALLOWED VALUE of the driving counter.& 67 \\ \hline
	Schedule table autostarts in RELATIVE mode with $<$START$>$ equal to 0							& error: OS332 - \textit{sched\_rel\_1} autostart's offset is equal to 0.			& 68 \\ \hline	
	Schedule table autostarts in RELATIVE mode with $<$START$>$ lower than MAXALLOWEDVALUE minus the Initial Offset	& 													& 69 \\ \hline	
	Schedule table autostarts in RELATIVE mode with $<$START$>$ greater than MAXALLOWEDVALUE minus the Initial Offset	& error: OS276 - \textit{sched\_rel\_3} autostart's offset is greater than MAXALLOWEDVALUE of the driving counter minus the Initial Offset.	& 70 \\ \hline	
	\end{supertabular}\\
	
	% TEST SEQUENCE 5 %
	\textbf{Test Sequence 5 :}
	\begin{lstlisting}
	TEST CASES:		       33
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_st_s5.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	An action set an event on a basic task 							& error : An action can't set an Event to a basic task (Task T is a basic task).											& 33 \\ \hline
	\end{supertabular}\\

\subsection{AUTOSAR - Schedule Table Synchronization}
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       38, 39, 40, 41, 42, 43
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_sts_s1.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	IMPLICIT schedule table is single-shot 								& error : A synchronized schedule table shall be repeating otherwise, synchronisation can't be done.	& 38 \\ \hline
	IMPLICIT schedule table is repeating		 						&  					& 39 \\ \hline
	IMPLICIT schedule table autostarts in ABSOLUTE mode					&  					& 40 \\ \hline
	IMPLICIT schedule table autostarts in RELATIVE mode					& error : OS430 - An IMPLICIT schedule table should be started in Absolute mode only				& 41 \\ \hline
	IMPLICIT schedule table autostarts in SYNCHRON mode				& error : OS430 - An IMPLICIT schedule table should be started in Absolute mode only				& 42 \\ \hline
	IMPLICIT schedule table duration is different to MAXALLOWEDVALUE + 1	& error : OS429 - An IMPLICIT schedule table should have a duration equal to OSMAXALLOWEDVALUE + 1 (11) of its counter.				& 43 \\ \hline
	\end{supertabular}\\
	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_sts_s2.txt}

	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	EXPLICIT schedule table is single-shot									& error : A synchronized schedule table shall be repeating otherwise, synchronisation can't be done.	& 44 \\ \hline
	EXPLICIT schedule table is repeating		 							&  																				& 45 \\ \hline
	EXPLICIT schedule table autostarts in ABSOLUTE mode						&  																				& 46 \\ \hline
	EXPLICIT schedule table autostarts in RELATIVE mode						& 																				& 47 \\ \hline
	EXPLICIT schedule table autostarts in SYNCHRON mode					& 																				& 48 \\ \hline
	EXPLICIT schedule table duration is greater than MAXALLOWEDVALUE + 1		& error : OS431 - An EXPLICIT schedule table shouldn't have a duration greater than OSMAXALLOWEVALUE + 1 (9) of its counter.				& 49 \\ \hline	
	EXPLICIT schedule table precision missing								& error : PRECISION attribute is missing													& 50 \\ \hline
	EXPLICIT schedule table precision lower than duration						& 																				& 51 \\ \hline
	EXPLICIT schedule table precision greater than duration						& error : OS438 - An explicit schedule table shall have a precision in the range 0 to duration.			& 52 \\ \hline
	In the first expiry point of an EXPLICIT schedule table, MaxRetard is lower than the maximum value allowed		& 								& 53 \\ \hline
	In the first expiry point of an EXPLICIT schedule table, MaxRetard is greater than the maximum value allowed	& error : OS436 - In first expiry point, MaxRetard (3) should be inferior to the previous delay (4) minus MINCYCLE of the counter (2).																													& 54 \\ \hline
	In the first expiry point of an EXPLICIT schedule table, MaxAdvance is lower than the maximum value allowed	& 														& 55 \\ \hline
	In the first expiry point of an EXPLICIT schedule table, MaxAdvance is greater than the maximum value allowed	& error : OS437 - In first expiry point, MaxAdvance (8) should be inferior to duration (9) minus the first delay(2).																																	& 56 \\ \hline
	In an expiry point of an EXPLICIT schedule table, MaxRetard is lower than the maximum value allowed			& 														& 57 \\ \hline
	In an expiry point of an EXPLICIT schedule table, MaxRetard is greater than the maximum value allowed		& error :  OS436 - In expiry point at offset = 7, MaxRetard (4) should be inferior to the previous delay (5) minus MINCYCLE of the counter (2).																											& 58 \\ \hline
	In an expiry point of an EXPLICIT schedule table, MaxAdvance is lower than the maximum value allowed		& 														& 59 \\ \hline
	In an expiry point of an EXPLICIT schedule table, MaxAdvance is greater than the maximum value allowed		& error : OS437 - In expiry point at offset = 7, MaxAdvance (5) should be inferior to duration (9) minus the previous delay(5).																														& 60 \\ \hline
	\end{supertabular}\\


\subsection{AUTOSAR - OS-Application}
	
	\subsubsection{API Service Calls for OS objects}
	
	% TEST SEQUENCE 1 %
	\textbf{Test Sequence 1 :}
	\begin{lstlisting}
	TEST CASES:		       43
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_app_s1.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	No Task nor ISR2 in app2											& error : OS445 - An application should have at least one Task OR ISR2.				 & 43 \\ \hline
	\end{supertabular}\\

	\subsubsection{Access Rights for objects from OIL file}
	
	% TEST SEQUENCE 2 %
	\textbf{Test Sequence 2 :}
	\begin{lstlisting}
	TEST CASES:		       1 to 7
	RETURN STATUS:	  	 EXTENDED
	SCHEDULING POLICY:   FULL-PREEMPTIVE
	\end{lstlisting}
	\lstinputlisting{./OIL_to_TXT/goil_autosar_app_s2.txt}
	
	\begin{supertabular}{|p{\Li}|p{\Lii}|p{\Liii}|} \hline 
	Alarm1's counter doesn't belong to the same application of Alarm1			& error : Counter Software\_Counter2 doesn't belong to the same application of alarm Alarm1	 	& 1 \\ \hline
	Alarm2 ACTIVATETASK's task doesn't belong to the same application of Alarm2 & error : Task t2 doesn't belong to the same application of alarm Alarm2	 					& 2 \\ \hline
	Alarm3 SETEVENT's task doesn't belong to the same application of Alarm3	& error : Task t2 doesn't belong to the same application of alarm Alarm3	 					& 3 \\ \hline
	Alarm4 INCREMENTCOUNTER's counter doesn't belong to the same application of Alarm4 & error : Counter Software\_Counter2 doesn't belong to the same application of alarm Alarm4	& 4 \\ \hline
	sched1's counter doesn't belong to the same application of sched1			& error : Counter Software\_Counter2 doesn't belong to the same application of schedule table sched1 	& 5 \\ \hline
	sched2 ACTIVATETASK's task doesn't belong to the same application of sched2 	& error : Task t3 doesn't belong to the same application of schedule table sched2				& 6 \\ \hline
	sched2 SETEVENT's task doesn't belong to the same application of sched2	& error : Task t2 doesn't belong to the same application of schedule table sched2					& 7 \\ \hline
	sched3 ACTIVATETASK's task doesn't belong to the same application of sched3	& error : Task t3 doesn't belong to the same application of schedule table sched3				& 6 \\ \hline
	sched3 SETEVENT's task doesn't belong to the same application of sched3	& error : Task t2 doesn't belong to the same application of schedule table sched3					& 7 \\ \hline
	\end{supertabular}\\

	
\theendnotes
	
\bibliographystyle{plain} 
\bibliography{Bib} 


\end{document}